curl-URL请求
模拟HTTP请求,通过访问URL获取HTTP响应。
语法
curl [选项] 访问URL
选项
--connect-timeout SECONDS 设置最大请求时间。
-C, --continue-at OFFSET 设置断点续传。
-b, --cookie STRING/FILE 设置Cookie信息,或者从一个文件中读取Cookie信息。
-c, --cookie-jar FILE 设置操作后将Cookie信息保存到指定文件中。
-d, --data DATA 设置采用POST方法发起请求,并定义所包含的普通数据。
--data-ascii DATA 设置采用POST方法发起请求,并定义所包含的ASCII格式的数据。
--data-binary DATA 设置采用POST方法发起请求,并定义所包含的二进制格式的数据。
--data-urlencode DATA 设置采用POST方法发起请求,并定义所包含的URL编码格式的数据。
--digest 设置使用数字身份验证。
-D, --dump-header FILE 将请求头部信息保存到一个文件中。
-f, --fail 设置当连接请求失败时,不显示HTTP错误信息。
-F, --form CONTENT 模拟表单提交POST数据。
-G, --get 设置采用GET方法发起请求,可以是由"-d"选项所定义的数据。
-H, --header LINE 自定义请求头部信息。
-I, --head 只显示请求头部信息。
-0, --http1.0 使用协议HTTP 1.0发起请求。
--ignore-content-length 设置忽略HTTP头部信息的内容长度。
-i, --include 设置在输出时包括协议头部信息。
-k, --insecure 设置允许不使用证书访问到HTTPS站点。
--interface INTERFACE 设置要使用的主机网卡接口。
-4, --ipv4 将名称解析成一个IPV4的地址。
-6, --ipv6 将名称解析成一个IPV6的地址。
-j, --junk-session-cookies 忽略从文件中读取会话Session信息。
--limit-rate RATE 设置要限制的传输速度。
--max-filesize BYTES 设置要限制的最大下载文件大小,单位为字节。
--max-redirs NUM 设置要限制的最大读取目录数量。
-m, --max-time SECONDS 设置最大传输时间。
-o, --output FILE 将结果输出到一个文件中。
-e, --referer 设置请求引用网址,可以修改请求头部信息中自定义"referer"信息的值。
-O, --remote-name 将结果输出到一个文件中,文件名采用远程文件的文件名。可以添加选项"-#"时,会显示下载进度条。
-R, --remote-time 在本地生成文件时,保留远程文件的时间。
-X, --request COMMAND 设置请求方法,支持GET\POST\HEAD\PUT\DELETE等等。
-u, --user USER[:PASSWORD] 启用HTTP基本身份验证,指定用户名和密码。
-S, --show-error 显示错误信息,在使用"-s"选项时,当出现错误信息时,会显示错误。
-s, --silent 安静模式。不会输出任何东西。
-A, --user-agent STRING 模拟浏览器,此项可以修改请求头部信息中的"user-agent"字段的值。
-x, --proxy [PROTOCOL://]HOST[:PORT] 设置代理服务器。
-V, --version 显示软件版本信息并退出。
-w, --write-out FORMAT 响应数据信息,格式:
- %{time_namelookup} 解析域名所花费的时间,单位为秒(s)
- %{time_connect} 建立TCP连接所花费的时间,单位为秒(s)
- %{time_starttransfer} 请求页面,服务器开始响应,传输的第一个响应数据包所花费的时间,单位为秒(s)
- %{time_total} 服务器响应完成,全部响应数据传输完成所花费的 时间,单位为秒(s)
- %{speed_download} 在请求响应过程中,客户端主机下载速度,单位为
字节(Byte)
-# 用进度条显示当前的传输情况。
示例
访问普通网站:
[root@localhost ~]# curl -X GET http://www.baidu.com
访问普通网站并以进度条的方式打印传输进度:
[root@localhost ~]# curl -X GET -# -O http://www.baidu.com/index.html
######################################################################## 100.0%
访问接口类网站,模拟POST请求,并添加请求头,请求主体数据为Json格式数据,将获得Json格式的响应数据:
[root@localhost ~]# curl -XPOST -H "UserName: $UserName" -H "Token: $Token" -H "TimeStamp: $TimeStamp" -H 'Content-Type: application/json;charset=utf-8' -d "$ReqString" http://113.108.202.250:50007/ITicketShoppingV2
访问需要HTTP基础身份验证的网站,模拟请求,携带用户名和密码
[root@localhost ~]# curl -XPOST -u root:ABCabc-123 http://www.httpuserpassword.com/member/login
访问网站,并打印响应相关信息,比如响应时长
[root@localhost ~]# curl -o /tmp/access.tmp -s -w name_resolve_time\ \ :%{time_namelookup}\(s\)"\n"TCP_connect_time\ \ \ :%{time_connect}\(s\)"\n"start_response_time:%{time_starttransfer}\(s\)"\n"total_response_time:%{time_total}\(s\)"\n"download_speed\ \ \ \ \ :%{speed_download}\(Byte\)"\n" "http://www.baidu.com"
name_resolve_time :0.014(s)
TCP_connect_time :0.020(s)
start_response_time:0.029(s)
total_response_time:0.029(s)
download_speed :81767.000(Byte)
curl-URL请求的更多相关文章
- curl模拟请求
GET请求 <?php //初始化 $curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, 'http://www.bai ...
- curl模拟请求常用参数
封装一个curl模拟浏览器请求的函数,如下: /** * curl模拟浏览器请求 * @param unknown $url 请求的地址 * @param array $params 请求地址所需要的 ...
- curl get请求添加header头信息
function get($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPGET, true); curl_setopt($ch, CU ...
- 转:PHP中的使用curl发送请求(GET请求和POST请求)
原文地址:http://www.jb51.net/article/104974.htm 使用CURL发送请求的基本流程 使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤: 1.初始 ...
- 使用PHP中的curl发送请求
使用CURL发送请求的基本流程 使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤: 初始化连接句柄: 设置CURL选项: 执行并获取结果: 释放VURL连接句柄. 下面的程序片段是 ...
- curl post请求封装
/* POST /servlet/ICBCCMPAPIReqServlet?userID=jyi.y.1001&PackageID=201807311347539185&SendTim ...
- php CURL 发送请求封装
cURL可以使用URL的语法模拟浏览器来传输数据,因为它是模拟浏览器,因此它同样支持多种协议,FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 ...
- 如何使用cURL获得请求/响应具体耗时?
如何使用cURL一次测量请求和响应时间? cURL支持格式化输出请求的详细信息(请参阅cURL手册页的-w.–write out<format>获取更多信息). 如题,我们将只关注如何知晓 ...
- HttpUrlConnection发送url请求(后台springmvc)
1.HttpURLConnection发送url请求 public class JavaRequest { private static final String BASE_URL = "h ...
- Objective-C中把URL请求的参数转换为字典
上一篇博客中是把URL转换为字典,那么我们如何把URL请求中的参数封装成字典,然后再封装成数组呢?对OC中字符串操作熟练的小伙伴们应该觉得这是一个a+b的问题,没错把URL中的参数转换为字典主要是对字 ...
随机推荐
- 电源PCB布板的10个基本法则
电容模型 电容并联高频特性 电感模型 电感特性 镜象面概念 高频交流电流环路 过孔 (VIA) 的例子 PCB板层分割 降压式(BUCK)电源:功率部分电流和电压波形 降压式电源排版差的例子 电路等效 ...
- CSS学习(二):背景图片如何定位?
我们都知道background-position属性用来指定背景图片应该出现的位置,可以使用关键字.绝对值和相对值进行指定.在CSS Sprites中,这个属性使用比较频繁,使用过程中,我常混淆,经常 ...
- react开发教程(六)React与DOM
ReactDOM findeDOMNode 语法:DOMElement findDOMNode(ReactComponent component)描述:获取改组件实例相对应的DOM节点 案例: imp ...
- 前端眼里的docker
docker是什么 可以简单的认为docker容器是一个虚拟机,封装就是把这个虚拟机打包,打包后能在任何系统跑,docker装上即用.也可以形象的比喻成一个集装箱,把所有货物都打包好放到箱子里,不需要 ...
- vue-baidu-map 进入页面自动定位的解决方案!
写在前面:我只是一个前端小白,文章中的提到可能会有不足之处,仅提供一个参考.若有不完善的地方,欢迎各位大佬指出!,希望对你有帮助! 好了,入正题.其实之前也被这问题困扰过,在网上也查了一番,没找到解决 ...
- 【VUE】 前端面试题小结
1,对代码重构的理解: 2,http和https协议有什么区别 3,从输入URL到页面加载全过程 4,前端怎么控制管理路由 5,缓存机制(描述一下 cookies,sessionStorage 和 l ...
- jboss修改内存
在修改配置文件,在 <JBOSS_HOME> /bin/stadalone.conf中 找到并修改 如图
- Spring原始注解开发-02
使用@Repository.@Service.@Controller注解配置,使其更加清晰属于哪一层,因为我是模拟的web层,所有没有使用@Controller注解,后面结合web开发会使用到 1.创 ...
- Blazor 生命周期
执行周期 1. SetParametersAsync 2. OnInitializedAsync(调用两次) 和 OnInitialized: 3. OnParametersSetAsync 或 On ...
- 现代 CSS 解决方案:Modern CSS Reset
在早年间(其实也不是很早),写过几篇关于 CSS Reset 的文章 - reset.css 知多少. 详细描述了当时业界比较常用的,两个 CSS reset 方案:reset.css 与 Norma ...