Linux curl命令参数详解--转载
linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态。
一、Linux curl用法举例:
1. linux curl抓取网页:
抓取百度:
1
|
curl http://www.baidu.com
|
如发现乱码,可以使用iconv转码:
1
|
curl http://iframe.ip138.com/ic.asp|iconv -fgb2312
|
iconv的用法请参阅:在Linux/Unix系统下用iconv命令处理文本文件中文乱码问题
2. Linux curl使用代理:
linux curl使用http代理抓取页面:
1
2
|
curl -x 111.95.243.36:80 http://iframe.ip138.com/ic.asp|iconv -fgb2312
curl -x 111.95.243.36:80 -U aiezu:password http://www.baidu.com
|
使用socks代理抓取页面:
1
2
|
curl --socks4 202.113.65.229:443 http://iframe.ip138.com/ic.asp|iconv -fgb2312
curl --socks5 202.113.65.229:443 http://iframe.ip138.com/ic.asp|iconv -fgb2312
|
代理服务器地址可以从爬虫代理上获取。
3. linux curl处理cookies
接收cookies:
1
|
curl -c /tmp/cookies http://www.baidu.com #cookies保存到/tmp/cookies文件
|
发送cookies:
1
2
|
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方式提交数据:
1
|
curl -G -d "name=value&name2=value2" http://www.baidu.com
|
linux curl post方式提交数据:
1
2
|
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文件
|
以表单的方式上传文件:
1
|
curl -F file=@/tmp/me.txt http://www.aiezu.com
|
相当于设置form表单的method="POST"和enctype='multipart/form-data'两个属性。
5. linux curl http header处理:
设置http请求头信息:
1
2
3
|
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响应头处理:
1
2
|
curl -I http://www.aiezu.com #仅仅返回header
curl -D /tmp/header http://www.aiezu.com #将http header保存到/tmp/header文件
|
6. linux curl认证:
1
2
|
curl -u aiezu:password http://www.aiezu.com #用户名密码认证
curl -E mycert.pem https://www.baidu.com #采用证书认证
|
6. 其他:
1
2
|
curl -# http://www.baidu.com #以“#”号输出进度条
curl -o /tmp/aiezu http://www.baidu.com #保存http响应到/tmp/aiezu
|
* About to connect() to localhost port 8080 (#0) * Trying 127.0.0.1... connected * Connected to localhost (127.0.0.1) port 8080 (#0) > GET /ppcredit_getbill/alive.jsp HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: localhost:8080 > Accept: */* ><HTTP/1.1 200 OK < Server: Apache-Coyote/1.1 < Set-Cookie: JSESSIONID=11FB3734B3043E6C2E4B287C39C82350;Path=/ppcredit_getbill/;HttpOnly < Content-Type: text/html;charset=UTF-8< Content-Length: 236 < Date: Thu, 31 Aug 2017 11:02:38 GMT < <!DOCTYPE html> <html> <head> <metacharset="UTF-8"> <title>tomcat娴嬭瘯椤/title></head> <body><h1>tomcat is alive锛/h1><hr><table><tr><td>璁块棶IP</td><td>127.0.0.1</td></tr></table> </body>* Connection #0 to host localhost left intact * Closing connection #0
转载于:https://www.cnblogs.com/davidwang456/p/4266867.html
Linux curl命令参数详解--转载相关推荐
- linux :Tar 命令参数详解
linux Tar 命令参数详解 tar命令 1. 作用 tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户. 2. 格式 tar [主选项+辅 ...
- Linux top命令参数详解
Linux top命令参数详解 生产环境系统运行慢,出现无法响应通常原因主要还在于分析CPU.内存.磁盘使用率情况,并结合命令查找出具体进程,并在进程中进一步分析主要因子情况,渗透到对于其中包含线程占 ...
- linux netstat命令参数详解
netstat命令详解 它主要的用法和详解! (netstat -na 命令),本文主要是说Linux下的netstat工具,然后详细说明一下各种网络连接状态. netstat -nat |awk ' ...
- linux ping 命令 参数详解,常用ping命令详解
Ping是Windows.Unix和Linux系统下的一个命令.ping也属于一个通信协议,是TCP/IP协议的一部分.利用"ping"命令可以检查网络是否连通,可以很好地帮助我们 ...
- linux df命令参数详解
linux中df命令参数功能:检查文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 语法:df [选项] 说明:linux中df命令可显示所有文件系统对 ...
- Linux rsync 命令参数详解
1,在对rsync服务端配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来.rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一 ...
- Linux rpm 命令参数详解
文章节选自:http://www.linuxsir.org/main/?q=node/50 RPM软件包管理的查询功能 命令格式 rpm {-q|--query} [select-options] [ ...
- linux ls的所有参数,Linux ls命令参数详解
例三:只列出文件下的子目录 命令:ls -F /opt/soft |grep /$ 列出 /opt/soft 文件下面的子目录 输出: 代码如下: [root@localhost opt]# ls - ...
- oracle spool 分隔符_sqlplus--spool命令参数详解
sqlplus--SPOOL参数详解 Spool是Oracle快速导出数据的工具,是sqlplus的指令,不是sql语法里的东西 一.Spool常用的设置 set arraysize 5000; / ...
最新文章
- python进行ocr识别图片上的中文
- $.ajax() 方法的理解
- C++中类的多态与虚函数的使用
- disconf mysql_Docker搭建disconf环境,三部曲之三:细说搭建过程
- 动手学无人驾驶(3):基于激光雷达3D多目标追踪
- 【Day11】平时在项目开发中都做过哪些前端性能优化
- Spring Security入门(3-5)Spring Security 的鉴权 - 决策管理器和投票器
- [导入]你的网站被订阅了吗(浅谈RSS2.0)续
- 微信小程序页面 scroll-view滚动条隐藏
- PHP使用redis设置锁
- 如何查看APP ID
- IOCCC.1987.korn.c.解析
- hexo yilia 文章浏览量统计
- eterm单人订座流程
- html5制作旋转正方体,如何制作一个旋转的正方体
- 计算机整理碎片有用吗,电脑磁盘碎片整理有什么用?需要经常整理吗?
- Oracle间隔(interval)分区
- 风之大陆 服务器不稳定,【风之大陆】7月29日更新公告
- 三层架构(我的理解及详细分析)
- router传参接参(详细)
热门文章
- rocketmq 消息 自定义_rocketMq-Topic创建过程
- java读取 info.plist源码_Java 解析 IPA 文件,读取 Info.plist 信息-Go语言中文社区
- QT自定义控件之倒计时控件
- NB驱动建立MQTT连接和断开MQTT连接的代码实现
- Qt中的QStackedLayout
- Qt中的QLineEdit、QTextEdit、QPlainTextEdit
- mipi和isp处理_VS-RK3399 在linux系统下面调试Mipi camera接口介绍
- ts连接mysql数据库_各种数据库的连接方法
- android oppo调试模式,OPPO A59 开启USB调试模式
- Oracle存储过程以及游标