文档章节

curl笔记

acmfly
 acmfly
发布于 2015/04/01 15:53
字数 740
阅读 26
收藏 0

一、代理设置

curl -x 127.0.0.1:8080 baidu.com  //指定代理

curl -U user:pass -x 127.0.0.1:8080 baidu.com //设置代理身份验证信息

二、数据读取范围(RANGES)

curl -r 0-9 baidu.com  //读取最开始的10个字节

curl -r -10 baidu.com  //读取最后的10个字节

三、文件上传

curl -T - ftp://size.org/data.txt //从stdin读取内容并上传保存为data.txt(数据输入后回车)

echo "xxxxx" | curl -T - ftp://size.org/data.txt //从stdin读取内容并上传保存为data.txt

curl -T filename ftp://size.org/ //上传本地文件

curl -T filename -u user:pass ftp://size.org/ //上传本地文件,指定ftp服务器的身份验证信息

curl -T filename ftp://size.org/data.txt //上传本地文件,远程名称为data.txt

curl -a -T filename ftp://size.org/data.txt //上传本地文件上传内容会追加到原始远程文件之后

-T选项在HTTP上传使用“PUT”方法!

四、过程信息/调试信息显示

curl -v baidu.com

curl --trace log.txt baidu.com

curl --trace-ascii log-ascii.txt baidu.com

五、显示HTTP头信息

-I: 只显示响应头信息

-i: 同时显示响应头和响应数据

-D log.txt: 显示响应数据并将响应头保存

六、HTTP GET/POST

GET示例:

curl site.org/new.php?id=99&class=spt

POST示例A:

curl -d "id=99&class=spt" baidu.com/news.php

// -d使用application/x-www-form-urlencoded媒体类型

构造的请求是这样的:

POST /news.php HTTP/1.1
User-Agent: curl/7.26.0
Host: baidu.com
Accept: */*
Content-Length: 18
Content-Type: application/x-www-form-urlencoded

id=99&class=spt

可以使用-d提交保存在文件中的name=value对数据:

curl --data @data.txt baidu.com/news.php

POST示例B:

curl -F "name=what is this" baidu.com/news.php

构造的请求是这样的:

POST /news.php HTTP/1.1
User-Agent: curl/7.26.0
Host: baidu.com
Accept: */*
Content-Length: 151
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------a24476865cb6


------------------------------a24476865cb6
Content-Disposition: form-data; name="name"

what is this
------------------------------a24476865cb6--

可以指定多个-F设置多个name-value对:

curl -F "name=what is this" -F "party=no party" baidu.com/news.php

构造的请求是这样的:

POST /news.php... HTTP/1.1
User-Agent: curl/7.26.0
Host: baidu.com
Accept: */*
Content-Length: 253
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------84fc129c5d1b


------------------------------84fc129c5d1b

Content-Disposition: form-data; name="name"

what is this
------------------------------84fc129c5d1b
Content-Disposition: form-data; name="party"

no party
------------------------------84fc129c5d1b--

-F可以指定数据类型:

curl -F "name=what is this;type=image/gif" baidu.com/news.php

构造的请求是这样的:

POST /news.php... HTTP/1.1
User-Agent: curl/7.26.0
Host: baidu.com
Accept: */*
Content-Length: 176
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------d17f37829cf7


------------------------------d17f37829cf7
Content-Disposition: form-data; name="name"
Content-Type: image/gif


what is this
------------------------------d17f37829cf7--

-F可以指定文件名
curl -F "name=@data1.txt" baidu.com/news.php

七、处理HTTP协议COOKIES

-b:提交指定的cookies键值对

-c:保存服务器返回的cookies

curl -b "name=value" www.baidu.com

curl -b cookies.txt www.baidu.com

curl -c cookies.txt www.baidu.com

curl -b cookies.txt -c cookies.txt www.baidu.com  //保证文件中的cookies可以及时更新

八、指定HTTP请求头信息

-e:指定Referer字段

-A:指定User-Agent字段

-H:指定其他头字段/自定义头字段

curl -e qq.com -A Spada1.0 -H "Authed: yes" baidu.com/news.php

构造的请求是这样的:

GET / HTTP/1.1
User-Agent: Spada1.0
Host: baidu.com
Accept: */*
Referer: qq.com
Authed: yes

九、文件下载/断点续传

-o filename:指定本地保存文件名称

-O:本地保存文件使用默认名称

-C -:断点续传

curl -C - -O http://down.org/file.rar

© 著作权归作者所有

acmfly
粉丝 17
博文 165
码字总数 164332
作品 0
青岛
私信 提问
elasticsearch笔记

elasticsearch默认不能root用户启动解决方法 > + 修改其bin目录下elasticsearch文件,添加ESJAVAOPTS> 阿里云ECS中elasticsearch服务不能公网ip访问解决方法 > + 修改其conf目录下elasticse...

damon188
2017/12/29
0
0
记录file_get_contents返回空字符串的问题

记录filegetcontents返回空字符串的问题 火丁笔记2018-03-212 阅读 PHP 群里一位大佬上午说了一句箴言:「 世界上没有什么故障是重启解决不了的,如果有,再重启一次。」,结果下午群里就有一...

火丁笔记
2018/03/21
0
0
Docker Compose笔记 02 安装笔记

我正在学习Docker容器技术,相关笔记汇总在Docker容器技术 学习笔记汇总 在Docker Compose笔记 01 基础介绍中已经介绍了Docker Compose,这节讲讲安装方法,比较简单,都在https://docs.dock...

iotisan
2017/11/16
0
0
小蚂蚁学cURL笔记(1)

cURL的作用:网络上的所有资源都可以用cURL访问和下载。 如何在window下确认是否支持cURL。cmd——》输入命令 php -i 通过搜索找到curl 在linux下的检测方法。 输入命令行 php -i | grep cu...

嗜学如命的小蚂蚁
2015/09/14
73
0
php curl传输图片

今天项目中,运用到了通过curl传输图片,留下做笔记 foreach ($files as $key => $file) { $post[$key] = '@'.realpath($file['tmp_name']).";type=".$file['type'].";filename=".$file['nam......

yffff
2015/09/07
28
0

没有更多内容

加载失败,请刷新页面

加载更多

java 面试知识点笔记(十一)多线程与并发-原理 中篇

自适应自旋锁:(java6引入,jvm对锁的预测会越来越精准,jvm也会越来越聪明) 自选次数不再固定 由前一次在同一个锁上的自旋时间及锁拥有者的状态来决定(如果在同一个锁对象上自旋等待刚刚成...

断风格男丶
24分钟前
1
0
Rainbond 5.1.4发布,复杂微服务架构整体升级和回滚

Rainbond 5.1.4发布, 复杂微服务架构整体升级和回滚 今天为大家带来Rainbond 5.1系列第四个更新版本,本次版本更新的主要内容是复杂微服务架构应用整体升级和回滚,能实现复杂微服务架构的持...

好雨云帮
25分钟前
1
0
selenium Python定位元素和相关事件

场景 通过使用selenium python的API能够很好的定位html中的元素,并指挥鼠标进行点击。 定位元素 find_element_by_*方法 find_element_by_id(id_) : html标签中的id确定标签 find_element_b...

亚林瓜子
31分钟前
0
0
apache隐藏版本信息及设置网页缓存

实战:源码编译安装apache及调优技巧 实战环境: 生产环境中,部署了apache之后,我们应该从安全还是性能角度,在apache服务上线之前,对其做诸多的优化调试才行。 技巧1: 安装apache屏蔽a...

寰宇01
45分钟前
1
0
百度小程序第三方接入图片上传demo

代码是基于ThinkPHP 3.2的,其他语言请自行实现,PHP版本为5.6 /*** 图片上传* @Author Qianlong <87498106@qq.com>* @PersonSite http://dev.21ds.cn/*/ public function onlyUpl......

千龍
47分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部