php中的curl的一些参数总结
curl可以根据是否是http或则是https选择加密发送的内容;
使用curl发送请求的基本流程
1,初始化连接句柄;
2,设置curl选项;
3,执行并获取结果;
4,释放curl连接句柄;
例子:
//初始化
$ch = curl_init();
//设置选项
curl_setopt($ch,CURLOPT_URL,"http://www.baidu.com");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //参数意思:如果成功只将结果返回,不自动输出任何内容
curl_setopt($ch,CURLOPT_HEADER,0);
//执行并获取html内容
$output = curl_exec($ch);
if($output == false){
echo "curl error:".curl_error($ch);
}
//释放句柄
curl_close($ch);
curl中最重要的函数是curl_setopt()
获取curl请求输出的信息:
curl_exec($ch);
$info = curl_getinfo($ch);
获取curl的请求内容.$info;
curl_getinfo返回的是一个关联数组,包含以下数据:
- url:网络地址。
- content_type:内容编码。
- http_code:HTTP状态码。
- header_size:header的大小。
- request_size:请求的大小。
- filetime:文件创建的时间。
- ssl_verify_result:SSL验证结果。
- redirect_count:跳转计数。
- total_time:总耗时。
- namelookup_time:DNS查询耗时。
- connect_time:等待连接耗时。
- pretransfer_time:传输前准备耗时。
- size_uplpad:上传数据的大小。
- size_download:下载数据的大小。
- speed_download:下载速度。
- speed_upload:上传速度。
- download_content_length:下载内容的长度。
- upload_content_length:上传内容的长度。
- starttransfer_time:开始传输的时间表。
- redirect_time:重定向耗时。
curl_getinfo()函数还有一个可选择参数$opt,通过这个参数可以设置以上的常量,对应到上述这个字段;如果设置第二个参数,那么返回的只有第二个参数。例如:$opt为CURLINFO_TOTAL_TIME,则curl_getinfo()函数只返回total_time,即总传输消耗时间,在只需要关注某些传输信息时,设置$opt参数很有意义。
使用CURL发送GET请求
如何使用curl来发送get请求,发送get请求的关键是拼装格式正确的URL.php提供了一个函数来专门拼装GET请求和数据部分----http_build_query(),该函数接受一个关联数组,返回由该关联数据描述的GET请求字符串;
例子如下:
//封装curl的get请求方式;doCurlGetRequest()
function doCurlGetRequest($url,$data,$timeout = 5){
if($url == '' || $data = ' '){
return false;
}
$url = $url . '?'.http_build_query($data);
$ch = curl_init((string)$url);
curl_setopt($ch , CURLOPT_HEADER,false);
curl_setopt($ch , CURLOPT_RETURNTRANSFER , true);
curl_setopt($ch , CURLOPT_TIMEOUT , (int)$timeout);
return curl_exec($ch);
}
这个函数把使用http_build_query()拼装好的带GET参数的URL传给curl_init()函数,然后使用curl发送http请求。
使用CURL发送POST请求
可以使用CURLOPT_POSTFIELDS,设置该选项为POST就可以把请求放到正文中。
例子如下:
function doCurlPostRequest($url , $requestString , $timeout = 5){
$ch = curl_init(string($url));
curl_setopt($ch , CURLOPT_HEADER , false);
curl_setopt($ch , CURLOPT_POSTFIELDS , $requeststring);
curl_setopt($ch , CURLOPT_POST , true);
curl_setopt($ch , CURLOPT_RETURNTRANSFER , true);
curl_setopt($ch , CURLOPT_TIMEOUT , $timeout);
return curl_exec($ch);
}
原文地址:http://blog.csdn.net/will5451/article/details/76211536
php中的curl的一些参数总结的更多相关文章
- curl -w,–write-out参数详解
顾名思义,write-out的作用就是输出点什么.curl的-w参数用于在一次完整且成功的操作后输出指定格式的内容到标准输出. 输出格式由普通字符串和任意数量的变量组成,输出变量需要按照%{varia ...
- PHP中使用cURL实现Get和Post请求的方法
1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特 ...
- php中的curl使用入门教程和常见用法实例
摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...
- php中的curl】php中curl的详细解说
本文我来给大家详细介绍下cURL的简单的使用方法,下文我将会给大家详细介绍cURL的高级应用, cURL可以使用URL的语法模拟浏览器来传输数据, FTP, FTPS, HTTP, HTTPS, GO ...
- PHP中的CURL函数库
PHP中的CURL函数库(Client URL Library Function) curl_close — 关闭一个curl会话curl_copy_handle — 拷贝一个curl连接资源的所有内 ...
- PHP中使用CURL实现GET和POST请求
转自:http://www.smsyun.com/home-index-page-id-284.html 一.什么是CURL? cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议, ...
- PHP中使用cURL
1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特性 ...
- LINUX curl GET 掉参数解决办法
LINUX curl GET 掉参数解决方法 url 为 http://mywebsite.com/index.php?a=1&b=2&c=3web形式下访问url地址,使用 $_GE ...
- 在PHP中使用CURL,“撩”服务器只需几行——php curl详细解析和常见大坑
在PHP中使用CURL,"撩"服务器只需几行--php curl详细解析和常见大坑 七夕啦,作为开发,妹子没得撩就"撩"下服务器吧,妹子有得撩的同学那就左拥妹子 ...
随机推荐
- 任务调度之Timer与TimerTask配合
什么是任务调度? 在实际业务中,我们经常需要定时.定期.或者多次完成某些任务,对这些任务进行管理,就是任务调度.任务调度与多线程密切相关. 任务调度有多种方式 Timer与TimerTask配合 Ti ...
- CentOS 7 怎样自动连接网络
https://jingyan.baidu.com/article/19192ad8f7c320e53e570728.html
- 20145310 Exp8 Web基础
实验问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能. 表单是一个包含表单元素的区域,表单元素是允许用户在表单中(比如:文本域.下拉列表.单选框.复选框等等)输入信息的元素. 表单的三个基 ...
- tensorflow reduction_indices理解
在tensorflow的使用中,经常会使用tf.reduce_mean,tf.reduce_sum等函数,在函数中,有一个reduction_indices参数,表示函数的处理维度,直接上图,一目了然 ...
- UVa 12661 Funny Car Racing - spfa
很简单的一道最短路问题.分情况处理赛道的打开和关闭. Code /** * UVa * Problem#12661 * Accepted * Time:50ms */ #include<iost ...
- Python3基础 set 自动将重复合并掉 不支持索引
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- ACM-ICPC 2018 徐州赛区网络预赛A Hard to prepare(DP)题解
题目链接 题意:有n个格子拉成一个环,给你k,你能使用任意个数的0 ~ 2^k - 1,规定操作 i XNOR j 为~(i ^ j),要求相邻的格子的元素的XNOR为正数,问你有几种排法,答案取 ...
- 关于Mybatis 的 Mapped Statements collection does not contain value for 异常 解决方案
查看堆栈信息: at org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:595) at org.apac ...
- python自动制作gif并添加文字
引言 最近租的房子快到期了,哎,因为去年是第一次找房子租,结果遇到了一个东北黑中介,押一付三,房子有啥问题,灯坏了,下水道堵了,原来签合同的时候说的客气,说是马上就会上门解决,结果实际上我每次 ...
- 装B必备之 快捷键配置
作为一个程序员 所有程序都用快捷来这是装B必备的无形装B 最为致命.... 开始搞起 第一步配置环境变量 在系统D盘新建一个文件夹 D:\cache; 然后把这个路径 配置上 D:\cache; 最 ...