Linux curl命令参数详解
笔者出处:http://www.aiezu.com/system/linux/linux_curl_syntax.html
linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态。
一、Linux curl用法举例:
1. linux curl抓取网页:
抓取百度:
curl http://www.baidu.com
如发现乱码,可以使用iconv转码:
curl http://iframe.ip138.com/ic.asp|iconv -fgb2312
iconv的用法请参阅:在Linux/Unix系统下用iconv命令处理文本文件中文乱码问题
2. Linux curl使用代理:
linux curl使用http代理抓取页面:
curl -x 111.95.243.36: http://iframe.ip138.com/ic.asp|iconv -fgb2312
curl -x 111.95.243.36: -U aiezu:password http://www.baidu.com
使用socks代理抓取页面:
curl --socks4 202.113.65.229: http://iframe.ip138.com/ic.asp|iconv -fgb2312
curl --socks5 202.113.65.229: http://iframe.ip138.com/ic.asp|iconv -fgb2312
代理服务器地址可以从爬虫代理上获取。
3. linux curl处理cookies
接收cookies:
curl -c /tmp/cookies http://www.baidu.com #cookies保存到/tmp/cookies文件
发送cookies:
curl -b "key1=val1;key2=val2;" http://www.baidu.com #发送cookies文本
curl -b /tmp/cookies http://www.baidu.com #从文件中读取cookies
4. linux curl发送数据:
linux curl get方式提交数据:
curl -G -d "name=value&name2=value2" http://www.baidu.com
linux curl post方式提交数据:
curl -d "name=value&name2=value2" http://www.baidu.com #post数据
curl -d a=b&c=d&txt@/tmp/txt http://www.baidu.com #post文件
以表单的方式上传文件:
curl -F file=@/tmp/me.txt http://www.aiezu.com
相当于设置form表单的method="POST"和enctype='multipart/form-data'两个属性。
5. linux curl http header处理:
设置http请求头信息:
curl -A "Mozilla/5.0 Firefox/21.0" http://www.baidu.com #设置http请求头User-Agent
curl -e "http://pachong.org/" http://www.baidu.com #设置http请求头Referer
curl -H "Connection:keep-alive \n User-Agent: Mozilla/5.0" http://www.aiezu.com
设置http响应头处理:
curl -I http://www.aiezu.com #仅仅返回header
curl -D /tmp/header http://www.aiezu.com #将http header保存到/tmp/header文件
6. linux curl认证:
curl -u aiezu:password http://www.aiezu.com #用户名密码认证
curl -E mycert.pem https://www.baidu.com #采用证书认证
6. 其他:
curl -# http://www.baidu.com #以“#”号输出进度条
curl -o /tmp/aiezu http://www.baidu.com #保存http响应到/tmp/aiezu
Linux curl命令参数详解的更多相关文章
- (转)Linux curl命令参数详解
Linux curl命令参数详解 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具, ...
- Linux curl命令参数详解--转载
linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态. 一.Linux ...
- Linux curl命令参数详解(6/23)
linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态. 在Linux中c ...
- [Linux命令]curl命令参数详解——转载
linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态.curl命令参数介 ...
- Linux ls命令参数详解
-a -- 全部(all).列举目录中的全部文件,包括隐藏文件(.filename).位于这个列表的起首处的 .. 和 . 依次是指父目录和你的当前目录. -l -- 长(long).列举目 ...
- Linux ls命令参数详解 <转>
下面是一个与 ls 一起使用的一些常用选项的简短列表.请记住,你可以通过阅读 ls 的说明书页(man ls)来获得选项的完整列表. -a – 全部(all).列举目录中的全部文件,包括隐藏文件(.f ...
- Linux - curl -w 参数详解
-w 的作用 完成请求传输后,使 curl 在 stdout 上显示自定义信息 格式是一个字符串,可以包含纯文本和任意数量的变量 输出格式 输出格式中的变量会被 curl 用对应的值替换掉 所有变量的 ...
- linux Tar 命令参数详解
tar命令 . 作用 tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户. . 格式 tar [主选项+辅选项] 文件或目录 eg: tar z ...
- linux ll 命令参数详解
linux ll和Linuxls 的区别 可看 http://www.cnblogs.com/jxhd1/p/6548449.html 用法:ls [选项]... [文件]... 列出 FILE 的信 ...
随机推荐
- oracle sql语言模糊查询--通配符like的使用教程
转自:http://www.cnblogs.com/tyler2000/archive/2011/04/28/oracleSql.html oracle在Where子句中,可以对datetime.ch ...
- LUA笔记之表
表据说是LUA的核, 呵呵, 看例子吧, 看上去, 跟java的list很像, 又有点像json: a = {} -- create a table and store its reference i ...
- javap(反汇编命令)详解【转】
转自:http://blog.csdn.net/hudashi/article/details/7062668 javap是JDK自带的反汇编器,可以查看java编译器为我们生成的字节码.通过它,我们 ...
- Hibernate,JPA注解@ManyToMany_JoinTable
可以通过@ManyToMany注解可定义的多对多关联.同时,也需要通过注解@JoinTable描述关联表和关联条件.如果是双向关联,其中一段必须定义为owner,另一端必须定义为inverse(在对关 ...
- Android应用插件式开发解决方法
转自:http://blog.csdn.net/arui319/article/details/8109650 一.现实需求描述 一般的,一个Android应用在开发到了一定阶段以后,功能模块将会越来 ...
- 【PHP设计模式 08_CeLue.php】策略模式
<?php /** * [策略模式]----和"简单工厂"模式很相似 * 根据不同运算符计算两个数的运算结果 * 常规方式就是判断运算符然后进行if...else的操作 * ...
- Linux命令学习手册-printf命令(转)
分类: LINUX 参考资料:http://sns.linuxpk.com/space-566-do-blog-id-15819.html printf FORMAT [ARGUMENT]... pr ...
- php header()函数设置页面Cache缓存
header()函数在php的使用很大,下面我来介绍利用它实现页面缓存的一些方法,但使用header前必须注意,在它之前不能任何输出,包括空格. 手册上,我们对于cache都是写着如何设置,以便让代码 ...
- c#之线程池优先级
using System; using System.Threading; namespace ConsoleApplication1 { class Program { static void Ma ...
- Andriod 按钮代码
package com.example.test1; import android.support.v7.app.ActionBarActivity; import android.os.Bundle ...