yaws搭建mobile app https下载服务器

yaws:偏航(还有另一个网络抓取工具) 偏航 yaws(Yet Another Web Scraper)是一种易于使用但功能强大的Node.js Web抓取工具,它支持多种常用的抓取技术,通过使用带有正则表达式的模式,通过导航DOM(JQuery样式)来定义对象。 它是一个进行中的工作,包括针对开发时使用的特定案例(例如NYTimes和IMDb)以及每个主要功能的测试。 取决于以下库: 啦啦队 摩卡咖啡(用于测试) assert-diff(用于测试) Nock(用于测试) 特征 刮擦目标的定义 从HTML字符串/文本中抓取 使用可选参数(POST,GET)从网址中抓取 从电子邮件帐户(IMAP)抓取 在请求中定义引荐来源 在请求中分配Cookie 根据要求使用不同的移动和桌面浏览器 刮 定义不同的刮取模式,这些模式作为对象返回 根据容器(li,td,表等)进行搜索 搜索正则表达式 通过浏览DOM JQuery样式进行抓 立即下载

需要注意的几点:

ca证书和user证书密码必须一致;
默认配置的webserver,如果是直接文件路径则必须是get请求(不能是post请求)
android、ios下载客户端文件前,需要先安装ca公钥证书

步骤:

  1. 安装并配置erlang、yaws基础环境包
  2. 制作https需要的证书

    • 建立serial文件,输入序列号值,如010000000001,16进制)6字节存储的序列号
      [root@mbank demoCA]# vim serial
    • 建立index.txt文件
      [root@mbank demoCA]# vim index.txt
    • Linux下生成需要修改配置文件:/etc/pki/tls/openssl.cnf
      [ CA_default ]
      dir = ./cert
    • 生成2048的CA证书私钥
      openssl genrsa -des3 -out ca_private.key 2048
    • 生成2048的服务器证书私钥
      openssl genrsa -des3 -out server_private.key 2048
    • 自签名生成CA根证书,有效期10年,PEM格式
      openssl req -new -x509 -days 3650 -key ca_private.key -out ca.crt
      Country Name (2 letter code) [AU]:CN
      State or Province Name (full name) [Some-State]: BeiJing
      Locality Name (eg, city) []:BeiJing
      Organization Name (eg, company) [Internet Widgits Pty Ltd]: liuweihua.com
      Organizational Unit Name (eg, section) []:Inc
      Common Name (eg, YOUR name) []:127.0.0.1
      Email Address []:weihua1986@gmail.com
    • 生成服务器的P10(csr)证书请求,PEM格式
      openssl req -new -key server_private.key -out server.csr
      Country Name (2 letter code) [AU]:CN
      State or Province Name (full name) [Some-State]:BeiJing
      Locality Name (eg, city) []:BeiJing
      Organization Name (eg, company) [Internet Widgits Pty Ltd]: blog.liuweihua.com
      Organizational Unit Name (eg, section) []:Inc
      Common Name (eg, YOUR name) []:127.0.0.1
      Email Address []:weihua1986@gmail.com
      Please enter the following ‘extra’ attributes
      to be sent with your certificate request
      A challenge password []:
      An optional company name []:
    • 使用本地模拟CA签发服务器公钥证书
      openssl ca -days 3650 -in server.csr -out server.crt -cert ca.crt -keyfile ca_private.key
  3. 编写yaws.conf配置文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    logdir=log
    log_wrap_size=51200000
    log_resolve_hostname=false
    <server182.119.167.184>
    port=443
    listen=0.0.0.0
    #listen_backlog=400000
    docroot=www
    partial_post_size=102400000
    auth_skip_docroot=true
    <ssl>
    keyfile=security/https/server_private.key
    certfile=security/https/server.crt
    cacertfile=security/https/ca.crt
    verify=verify_none
    password=123456
    </ssl>
    </server>
    
  4. 编写启动脚本start.sh

    1
    2
    
    #!/bin/bash
    yaws--confyaws.conf--idtest--nametest--snametest--daemon
    
  5. 编写具体的下载页面和文件

    1
    2
    3
    
    <ahref="itms-services://?action=download-manifest&url=https://127.0.0.1/ipad/test
        .plist">点击下载</a>
    <ahref="https://127.0.0.1/android/test.apk">点击下载</a>
    
  6. test.plist内容如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>items</key>
        <array>
            <dict>
                <key>assets</key>
                <array>
                    <dict>
                        <key>kind</key>
                        <string>software-package</string>
                        <key>url</key>
                        <string>https://127.0.0.1/ipad/test.ipa</string>
                    </dict>
                </array>
                <key>metadata</key>
                <dict>
                    <key>bundle-identifier</key>
                    <string>com.liuweihua.test</string>
                    <key>bundle-version</key>
                    <string>1.0.0</string>
                    <key>kind</key>
                    <string>software</string>
                    <key>title</key>
                    <string>TEST</string>
                </dict>
            </dict>
        </array>
    </dict>
    </plist>
    
Obsidian笔记同步实战:基于Git的私有化部署与自动化管理 本文详细介绍了如何利用Git为Obsidian笔记构建私有化、自动化且免费的同步方案。通过安装配置Git与Obsidian-git插件,结合Gitee等远程仓库,实现笔记的版本管理、多设备同步与自动备份,打造安全可靠的知识管理体系。 阅读详情

相关推荐

创龙 瑞芯微 RK3588 国产工业开发板—Qt交叉编译环境搭建与GPU图形渲染实战

本文详细介绍了在创龙RK3588国产工业开发板上搭建Qt交叉编译环境并利用GPU进行图形渲染的完整实战流程。文章从环境准备入手,讲解了交叉编译工具链的配置,并提供了命令行与Qt Creator两种编译方法。通过部署运行和自启动设置,确保程序在板卡上稳定运行。最后,通过OpenGL案例实战,展示了如何调用RK3588的GPU进行高效图形渲染,释放其图形处理潜力,适用于工业HMI、智能终端等高要求图形界面开发。

weixin_28278377的博客 450

【树莓派】【转载】基于树莓派,制作家庭媒体中心+下载机

看到这样一篇文章,觉得蛮有意思,转载于此:http://www.boydwang.com/2013/12/build-your-raspberrypi-as-a-media-center/   今天收到了小派,UK产的绿板子,还配了个透明盒子,装在里面闪亮亮的很好看,而且只有卡片大小,寻思着用它做什么好呢?想来想去,看到人家拿小派作家庭媒体中心,还有人拿它当下载机,于是就萌生了一个家庭媒体中心...

weixin_34032792的博客 667

Windsurf 入门指南:从安装到实战(免费AI IDE新选择)

本文是Windsurf AI IDE的详细入门指南,涵盖从下载安装到核心功能实战的全过程。通过对比分析,文章指出Windsurf凭借其免费、小白友好的特性及强大的上下文感知能力,成为学习编程和提升开发效率的新选择,特别适合零基础开发者和寻求高效AI编程工具的开发者。

weixin_29237635的博客 854

linux一键安装aria2,Linux一键安装Aria2+Yaaw+FileManager实现BT磁力下载,并在线查看/观看...

说明:博客关于BT下载的教程已经很多了,特别是Aria2,看见小Z大佬写了个Aria2+Yaaw+FileManager一键包,比一般的Aria2面板配置要简单,挺方便的,就转载下。简介Aria2是一个轻量级的多协议和多源命令行 下载工具。它支持HTTP/HTTPS,FTP,SFTP,BitTorrent和Metalink。aria2可以通过内置的JSON-RPC和XML-RPC接口进行操作。YA...

weixin_39962770的博客 486

ISO26262功能安全--产品开发过程

目录 1.总体理解 2.概念阶段——吹牛,我们是打草稿的 2.1 相关项定义 2.2 HARA分析 2.3 功能安全目标 2.4 安全需求与安全概念 3. 系统阶段——闭门造神车,我们开始修炼 3.1 技术安全需求(TSC) 3.2 系统架构设计 3.3 安全分析与独立性分析 3.4 软硬件接口(HSI) 4. 硬件阶段——苦其心志,苦练经骨 4.1 硬件架构...

AgingMoon的博客 1万+

51单片机-点亮LED和蜂鸣器

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。ULN2003是大电流驱动陈列,多用于单片机、只能仪表、PLC、数字量输出卡等控制电路中。可直接驱动蜂鸣器、继电器等负载。void delay(u16 i) // i等于1大约10uswhile(i--);//取反,高低电平不断变化,产生脉冲delay(10);// 周期200us。

三日沐水 1126

YAWS 实作(1): Win下安装

 第一步:安装ErlangErlang的安装路径,必须没有空格。否则,安装YAWS时会有大麻烦。象"c:/program files/erl5.6.5"是不行的。安装完成后,在Windows系统环境变量Path值中,加上一项,如:PATH = c:/erl5.6.5/bin;无此变量值,无法安装YAWS。第二步:安装Cygwin至今,YAWS没有Windows版本,

lawme的专栏 2120

电力现货市场出清机制解析:从理论到实践(附节点电价计算实例)

本文深入解析电力现货市场的核心出清机制,重点阐述了节点边际电价的计算原理与实践方法。通过对比系统边际电价、节点边际电价和分区边际电价三种模式,揭示了市场出清价格如何反映电力供需与网络阻塞。文章结合IEEE 30节点系统,提供了基于MATLAB和最优潮流模型的计算实例,详细展示了从构建模型到求解对偶变量以获取节点电价的全过程,为理解电力市场定价机制提供了从理论到实践的完整路径。

whisky的博客 756

yaws,erlyweb学习笔记

安装配置:yaws直接下载安装,erlyweb下载直接解压到erlang的lib下。 Yaws官网http://yaws.hyber.org/index.yaws Erlyweb官网http://erlyweb.org/,,,,,入门教程 http://yarivsblog.com/articles/2006/10/27/introducing-erlyweb-the-erlang-twist-o...

liangjianss的博客 323

nvidia系列教程-AGX-Orin linux源码下载编译

NVIDIA AGX Orin 是一款高性能的嵌入式计算平台,广泛应用于人工智能、自动驾驶、机器人等领域。为 AGX Orin 编译定制的 Linux 内核,可以更好地适应特定应用需求,增强系统的灵活性。本文将详细介绍如何下载、配置和编译适用于 AGX Orin 的 Linux 内核源码。本文介绍了如何为 NVIDIA AGX Orin 平台下载、配置和编译定制的 Linux 内核源码。通过编译和部署定制内核,您可以更好地控制系统的行为,并根据特定应用需求进行优化。

flypig has a dream! 1283

5、自适应 RBF 神经网络控制方法解析

本文详细解析了基于RBF神经网络的多种自适应控制方法,包括针对函数未知、参数未知以及存在外部干扰的非线性系统的控制策略。通过李雅普诺夫稳定性理论设计自适应律,确保闭环系统稳定,并结合仿真示例和MATLAB代码实现,展示了方法的有效性。文章还对比了不同控制方法的适用场景,并给出了实际应用流程,为复杂系统控制提供了系统性解决方案。

ol789012的博客 71

Yaws(erlang web服务器框架) 学习记录之一

一、安装 在Window系统下,安装很容易,直接下载安装程序http://yaws.hyber.org/download/Yaws-2.0.4-windows-installer.exe后运行,选择一个安装目录,一直下一步就会完成安装。 二、运行服务器 在命令提示符下使用命令 yaws -i 以交互模式运行yaws服务器。如下图所示 通过上图中提示可以看出: 服务器配置文件默认为

cloveses的专栏 3442

Autosar PNC网络管理配置-UserData的使用

之前配置的网络管理报文中的data都由ComM管理,后面客户新增了需求,最后两个byte需要发送,本文记录一下相关配置的修改能配置生成的,尽量不手码,毕竟手写一堆bug~

赞的博客 1904

aria2 https

https://github.com/aria2/aria2/issues/361 ... and also make sure that aria2 was built with HTTPS support.Runaria2c -vand checkLibraries:. If you don't see "GnuTLS" or "OpenSSL", then aria2 was ...

weixin_30740295的博客 617

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Yaws(erlang web服务器框架) 学习记录之使用自定义函数输出WEB页内容

在Yaws框架中提供的动态WEB页文档中,我们可以用嵌入Erlang代码来定义函数,然后使用out(Args)函数来调用它,以达到实现动态页面目的。 按照目前流行的WEB后端开发的基本方式,Erlang代码定义的业务函数和静态页面的HTML代码应尽量分开存储在不同的文件中,在Yaws中也是可以实现的。 一、修改配置文件 Yaws在渲染页面内容时,会根据配置文件来自动搜索模块并实现对其中的函数

cloveses的专栏 1589

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

语言模型评估完全指南:从零开始掌握lm-evaluation-harness

你是否曾经困惑于如何准确评估语言模型的性能?面对众多评估任务和复杂的配置,是否感到无从下手?lm-evaluation-harness正是为解决这一难题而生的开源框架,它为语言模型提供了一套统一、标准化的评估方案。本文将为你揭开这个强大工具的神秘面纱,让你轻松掌握语言模型评估的核心技能。 ## 为什么需要专业的语言模型评估框架?🤔 在人工智能快速发展的今天,语言模型已经成为自然语言处理领域的

gitblog_00038的博客 503

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

2025最完整Yaws Web服务器实战指南:从并发部署到高可用架构

你是否正在寻找一款能处理10万+并发连接的轻量级Web服务器?作为Erlang生态中最成熟的Web服务器,Yaws(Yet Another Web Server)凭借其独特的Actor模型架构,在高并发场景下性能超越Nginx 30%以上。本文将带你从零基础到精通,掌握这个被爱立信、沃达丰等企业广泛采用的高性能服务器。 读完本文你将获得: - 3种零停机部署Yaws的实战方案 - 5个生产环境必

gitblog_00546的博客 559

IDM注册表权限控制技术深度解析:系统级试用期管理方案实现

IDM Activation Script作为一款基于注册表权限管理技术的开源工具,通过Windows系统底层安全机制实现了Internet Download Manager试用期的长期稳定管理。该项目采用创新的注册表键值锁定方法,为技术爱好者提供了研究Windows安全模型与软件授权机制的实践案例。 ## 技术架构与核心原理分析 ### Windows注册表安全模型解析 IDM激活脚本的核

gitblog_00562的博客 421

Yaws(erlang web服务器框架) 学习记录之文件上传

Yaws提供了文件上传的API函数,从一些参考资料或Yaws的示例中,都提及使用yaws_api:parse_multipart_post/1这个API函数在服务器端进行文件数据的接受和处理。而在Yaws官方文档中,却提及了另一个API函数,即yaws_multipart:read_multipart_form/2在服务器端进行上传文件数据的处理。 由于,以前还没有接触过Yaws框架,所以详细阅

cloveses的专栏 1625

配置AWSTATS用于分析web访问日志(apache tomcat yaws)

配置AWSTATS用于分析web访问日志(apache tomcat yaws) 此教程可以分析apache tomcat yaws日志。 操作环境: Cent os 5.5 Apache 软件列表: Httpd-2.2.9.tar.gz awstats-7.0.tar.gz ...

weixin_34148456的博客 231

file_get_contents 访问不到 https的链接的解决办法

主要是因为file_get_contents默认不支持访问https请求 有以下两个方法 1.如果要支持需配置php.ini文件,激活 php_openssl.dll模块,关于开启这个大家可以搜索一下相关配置方法即可,这里不主张使用这种方法,因为很多的网站的空间是虚拟主机的形式, 是没有办法修改服务器php.ini文件的 2. function get_url_content(){ $...

jasmine______001的博客 1083

Yaws(erlang web服务器框架) 学习记录之输出网页代码

作为支持动态网站开发的框架,自然要有通过动态数据生成HTML代码的方法。 简单的说,主要有两种方式: 一、直接输出HTML代码 这种方式是以HTML代码字符串的形式作为输出函数out/1的返回值,其格式为: {html,html字符串} 比如: {html,"Hello"} 就会输出HTML代码: Hello 二、使用ehtml形式输出HTML代码 这种方式仍然使用out/1函

cloveses的专栏 885

IOS7.1下载企业版应用报“xxx证书无效”的解决方案

自从IOS升级到7.1以后,企业版应用下载时就会报“”

Vincent的专栏 2231

yaws mysql_Erlang的Web库和框架

YawsYaws是一个高效处理动态页面的web服务器,因为Yaw由应用模块【appmods(application modules)】构建,所以其中的appmods可以被我们构造的API替代。Yaws的文档做的不错,重要的是能够植入到监督树的层次结构中(supervision,Erlang/OTP 设计原则里面的概念,简单来说,为了系统的稳定可靠,一个进程应当由另外的进程来监督和管理,这些监督进程...

weixin_39521651的博客 213

H5+app 打包说明

参考官网打包说明:https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/13425 第一步:下载HbuilderX工具(https://www.dcloud.io/hbuilderx.html)傻瓜式安装,安装完成注册账号 第二步:创建项目,点击“文件”—> “新建”—>“项目”(截图截不出...

qq_37672347的博客 1733
上一篇: [erlang]针对http传输过程中body数据的优化
下一篇: [go question]import cycle not allowed
tonyliu
博客等级 码龄14年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值