curl — 强大的HTTP命令行工具

curl的官网是https://curl.haxx.se/ 。标题中说是HTTP命令行工具其实不准确,它还支持FTP, SMTP等协议,但大部分用得比较多的是它的HTTP功能。

本篇也主要介绍下它的HTTP常用的GET, POST方法用法。目前很多Linux系统都带了curl,Windows系统要用的话得去官网下载。

1.基本用法

执行后,html就会显示在命令行上了。

1.1显示详细的请求信息

如果需要显示HEAD部分的信息,使用内置option: -v

2.保存访问的网页

使用curl的内置option:-o(小写)保存网页

使用curl的内置option:-O(大写)保存网页中的文件

要注意这里后面的url要具体到某个文件,不然抓不下来。

3.指定proxy服务器以及其端口

使用内置option:-x(小写)来设置代理

4.cookie

有些网站是使用cookie来记录session信息。对于chrome这样的浏览器,可以轻易处理cookie信息,但在curl中只要增加相关参数也是可以很容易的处理cookie。

4.1.保存http的response里面的cookie信息。内置option:-c(小写)

执行后cookie信息就被存到了cookiec.txt里面了

4.2.保存http的response里面的header信息。内置option: -D

执行后cookie信息就被存到了cookied.txt里面了

注意:-c(小写)产生的cookie和-D里面的cookie是不一样的。

4.3.使用cookie

很多网站都是通过监视你的cookie信息来判断你是否按规矩访问他们的网站的,因此我们需要使用保存的cookie信息。内置option: -b

5.模仿浏览器

有些网站需要使用特定的浏览器去访问他们,有些还需要使用某些特定的版本。curl内置option:-A可以让我们指定浏览器去访问网站

这样服务器端就会认为是使用IE8.0去访问的。

6.伪造referer(盗链)

很多服务器会检查http访问的referer从而来控制访问。比如:你是先访问首页,然后再访问首页中的邮箱页面,这里访问邮箱的referer地址就是访问首页成功后的页面地址,如果服务器发现对邮箱页面访问的referer地址不是首页的地址,就断定那是个盗连了
curl中内置option:-e可以让我们设定referer

这样就会让服务器其以为你是从www.chentaoqian.com点击某个链接过来的

7.下载文件

7.1使用-o或-O参数

7.2循环下载

有时候下载图片可以能是前面的部分名称是一样的,就最后的尾椎名不一样

这样就会把dodo1,dodo2,dodo3,dodo4,dodo5全部保存下来

7.3分块下载

有时候下载的东西会比较大,这个时候我们可以分段下载。使用内置option:-r

7.4通过ftp下载文件

curl可以通过ftp下载文件,curl提供两种从ftp中下载的语法

7.5显示下载进度条

7.6不显示下载进度信息

7.7断点续传

如果在下载dodo1.JPG的过程中突然掉线了,可以使用以下的方式续传

8.上传文件

这样就向ftp服务器上传了文件dodo1.JPG

9.使用POST方法

使用 -X POST 申明我们的请求方法时POST,用-d发送参数

上面是以form的形式提交参数。如果要发送json数据,我们要增加Content-Type。

参数-H用来设置HEAD部分


发表评论

电子邮件地址不会被公开。 必填项已用*标注