IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> wincurl:一款基于HTTP协议的轻量级web资源抓取和上传工具 -> 正文阅读

[网络协议]wincurl:一款基于HTTP协议的轻量级web资源抓取和上传工具

编写web程序经常要进行接口调测,通常我们会使用curl或者postman等工具,通过这些工具可以方便的发送GET或POST请求来验证接口的正确与否。
对于复杂的接口业务,我们可以通过这些工具构造post data、query string、以及request header来完成这些接口的验证,从而大大提升我们的工作效率。
有时我们也需要抓取和分析web服务器返回的原始数据,比如按照chunked(Transfer-Encoding)方式分块传输的数据,或者
Content-Encoding为gzip的数据,或者是两者结合的chunked+gzip数据
。因此我在工作之余编写一个在windows平台下基于命令行的高仿curl工具。

【下载地址】

wincurlhttp://softlee.cn/wincurl.zip

【wincurl特点】

1、小巧简洁只有一个可执行文件;
2、支持SSL协议,内部集成openssl库;
3、具有丰富且灵活的配置参数;
4、具备curl在HTTP协议上的大部分功能;
5、可输出原始响应数据,比如chunked或压缩数据(gzip、deflate);

【wincurl的使用】

wincurl是一个命令行工具,使用比较简单,下面以www.163.com网站为例进行介绍。

1、抓取网页

wincurl http://www.163.com
如果URL中没有指定http或https,则默认是http协议。如果是https网站,则输入:
wincurl https://www.163.com
或者
wincurl www.163.com -ssl
或者
wincurl -ssl www.163.com

2、下载网页到指定文件中

wincurl https://www.163.com -o 163.html
此时,163网站的主页会保存到163.html中,“-o”参数会指明下载的文件名称,如果不是全路径,则会默认下载到当前目录
或者更加简洁的使用大写“-O”,该参数不用指明文件名称,使用“-O”时会使用url中的资源名称作为文件名。

3、上传文件

wincurl -u c:/1.jpg https://www.xxx.com/upload.do
这里假设upload.do接口支持上传文件命令。
“-u”参数会指定本地上传文件的路径。

4、POST数据

wincurl http://www.xxx.com/command.do -d "user=name&pwd=123456"
“-d”参数会指定需要POST的数据。
如果POST数据很大,或者是二进制数据,可以将数据放入文件中并用“-file”参数来指定,如下:
wincurl http://www.xxx.com/command.do -d “c:/post.data” -file
此时,post数据在文件post.data中。

5、自定义请求头

wincurl https://www.xxx.com/xxx.do -h "User-Agent: wincurl"
“-h”参数会添加指定的请求头。
请求头也可放入配置好的文件中,通过“-file”参数指定来添加,如下:
wincurl http://www.xxx.com/command.do -d “c:/head.txt” -file
此时,请求头数据在head.txt文件中。

6、批量下载资源

如果URL资源的名称有数字编号,可通过[]来指定下载的区间,如下:
wincurl http://softlee.cn:8888/batch/[1-5].jpg -O
此时会把web服务器上的1.jpg、2.jpg…5.jpg下载到当前目录下。
“-p”参数可指定批量下载的保存路径,如下:
wincurl http://softlee.cn:8888/batch/[1-5].jpg -O -p "c:/temp"
此时文件将下载到c盘的temp目录下。

7、显示下载或上传进度

wincurl https://www.163.com -O -progress
“-progress”会显示下载进度,只有“-o”、“-O”或“-u”存在时,该值有效。
因为此时HTTP响应数据是输出到文件(或上传到服务器)中,屏幕上看不到进度,如果是输出到控制台,则无需显示进度。
默认Web响应数据是输出到控制台(没有“-o”或“-O”时)。
在这里插入图片描述

8、按照指定步长在控制台显示数据

wincurl https://www.163.com -step 1024
“-step”参数会指定响应数据每次显示多少,缺省为1024字节,用户按任意键后可继续显示。

9、输出原始响应数据到文件中

wincurl https://www.163.com -O -origin
“-origin”参数会将web服务器返回的原始数据输出到文件中,这些数据可能是chunked或被压缩的,或者是chunked+压缩的

10、输出压缩数据到文件中

wincurl https://www.163.com -O -compress
如果响应数据的Conent-Encoding是压缩数据,通过“-compress”可将其输出。

11、显示帮助信息

如果wincurl命令不带任何参数,则显示帮助信息,或者使用参数“-help”或“-?”

wincurl -help
wincurl -?
wincurl配置参数分为两大类,一类是带值参数,比如-o,-d等,一类是不带值参数比如-ssl、-O等,如下所示。
在这里插入图片描述

注意:如果命令行参数值中有空格或&,请使用双引号将参数包起来使用,比如post数据中的&或文件路径中的空格。

最后,感谢您的使用。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:32:18  更:2022-03-06 13:32:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/5 13:20:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码