注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天朝布衣田中码农参上

苦逼码农的点点滴滴,请多多指教!

 
 
 

日志

 
 
 
 

http命令行工具curl使用简例  

2017-03-20 16:24:06|  分类: 操作系统 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
curl是Linux下一个很强大的http命令行工具,其功能十分强大,而现在它推出了WINDOS版本。下载地址为:http://curl.haxx.se/download.html,大家可以根据自己的操作系统来下载相应的版本,解压后将之放入C:\Windows\System32即可开始体会这命令行工具的强大之处了。
1)当然最开始是最简单的,直接去网站。

curl http://www.593668.com

结果如下:
http命令行工具curl使用简例 - sinsunson - 天朝布衣田中码农参上
2)噫,这个好象不是我们想要的,要保存下来html文件啊。

curl http://www.593668.com > 593668_index.html
curl http://www.593668.com -o 593668_index.html

以上两条命令任一均可。
http命令行工具curl使用简例 - sinsunson - 天朝布衣田中码农参上
相关的页面文件会保存在当前目录下。
3)想要翻那啥,嘿嘿,其实也简单,加个 -x来指定proxy服务器及其端口:

curl http://www.593668.com -o 593668_index.html -x 10.0.0.1:3128

4)如果用到cookie来记录session信息,那么就得用-D选项保存相关信息。

curl http://www.593668.com -D cookie0001.txt

然后再用-b选项使用这个相关信息去访问网站其它页面。

curl http://www.593668.com/1/2947.html -o 2947.html -D cookie0002.txt -b cookie0001.txt

这里请注意下,然后再次将相关的网站cookie信息存入新的cookie0002.txt,当然也可以使用原来的文件名。这样就可以几乎模拟所有的IE操作,去访问网页了!
5)当然如果想要访问微信的一些页面,还得配浏览器信息。

curl http://www.593668.com -o 593668_index.html -A "mozilla/5.0 (linux; u; android 4.1.2; zh-cn; mi-one plus

build/jzo54k) applewebkit/534.30 (khtml, like gecko) version/4.0 mobile safari/534.30

micromessenger/5.0.1.352"

这个信息,可以自行去用相关的编程语言去获取。
6)还有一些网站有防盗链功能,也需要绕过,那就要用-e。

curl http://www.593668.com/1/2947.html -o 2947.html -e "http://www.593668.com"

7)利用curl下载文件其实也很简单,加入-O即可原样按照服务器上的文件名保存。

curl http://www.593668.com/1/2947.html -O

如果要批量,那么也可以使用如下规则。

curl http://www.593668.com/1/[1-10].html -O

这样会批量下1.html,2.html……10.html。

curl http://www.593668.com/{1,2}/[1-10].html -O

更高级一点的使用,这样就会下1/1.html……10.html,然后是2/1.html……10.html。
8)以上命令会产生一个问题,会覆盖掉同名文件,这样需要自定义文件名的下载。

curl http://www.593668.com/{1,2}/[1-10].html -o #2_#1.hmtl

这样下载的文件名就会变成1_1.html……2_10.html。
9)要下大文件断点续传,加-c选项,如果还要分块下载请加-r。

curl http://www.593668.com/{1,2}/[1-10].html -o #1_#2.hmtl -c -r

这样感觉迅雷和腾讯下载都没有什么用了。
10)ftp的下载也差不多,使用-u name:passwd来指定用户名和密码。

curl -u username:password ftp://ip:port/file

curl ftp://username:password@ip:port/file

以上任意均可。
11)其实curl还可以上传。

curl -T localfile -u username:password ftp://ip:port/path/file
curl -T localfile http://ip:port/upload.php

第二个使用的协议是HTTP的PUT method。
12)curl模拟get方式提交就不多说了,下面来说说如何模拟post提交参数。

curl -d "username=xxx&password=yyy" http://ip:port/login.php

以上命令就是模拟一个登录。
13)最后就是一个难点了,模拟文件上传,正常情况下的上传文件网页如下:

<form method="POST" enctype="multipar/form-data" action="http://ip:port/upload.php">
<input type=file name=upload>
<input type=submit name="go" value="upload">
</form>

要模拟这个,就使用如下命令:

curl -F upload=@localfile -F go=upload http://ip:port/upload.php

14)如果网站是使用https协议,也可以用本地证书来模拟。

curl -E localcert.pem https://remote_server

怎么样,是不是很简单,如果还需要更多的帮助,请使用如下命令:

curl --help

相关参数的详细讲解,如下图所示。
http命令行工具curl使用简例 - sinsunson - 天朝布衣田中码农参上
大家可以自行愉快地玩耍了,真心说,用好curl,啥都能干。
  评论这张
 
阅读(1)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017