curl 函数总结

参数:$url 请求 URL string;$body  array  ;$header  array;

function postCurl($url,$body,$header,$type="POST"){    //1.创建一个curl资源    $ch = curl_init();    //2.设置URL和相应的选项    curl_setopt($ch,CURLOPT_URL,$url);//设置url    //1)设置请求头    //array_push($header, ‘Accept:application/json‘);    //array_push($header,‘Content-Type:application/json‘);    //array_push($header, ‘http:multipart/form-data‘);    //设置为false,只会获得响应的正文(true的话会连响应头一并获取到)    curl_setopt($ch,CURLOPT_HEADER,0);    // 设置超时限制防止死循环    //curl_setopt ( $ch, CURLOPT_TIMEOUT,5);    //设置发起连接前的等待时间,如果设置为0,则无限等待。    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);    //将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);    //2)设备请求体    if (count($body)>0) {        //$b=json_encode($body,true);        curl_setopt($ch, CURLOPT_POSTFIELDS, $body);//全部数据使用HTTP协议中的"POST"操作来发送。    }    //设置请求头    if(count($header)>0){        curl_setopt($ch,CURLOPT_HTTPHEADER,$header);    }    //上传文件相关设置    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);    curl_setopt($ch, CURLOPT_MAXREDIRS, 3);    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);// 对认证证书来源的检查    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);// 从证书中检查SSL加密算    //3)设置提交方式    switch($type){        case "GET":            curl_setopt($ch,CURLOPT_HTTPGET,true);            break;        case "POST":            curl_setopt($ch,CURLOPT_POST,true);            break;        case "PUT"://使用一个自定义的请求信息来代替"GET"或"HEAD"作为HTTP请求。这对于执行"DELETE" 或者其他更隐蔽的HTT            curl_setopt($ch,CURLOPT_CUSTOMREQUEST,"PUT");            break;        case "DELETE":            curl_setopt($ch,CURLOPT_CUSTOMREQUEST,"DELETE");            break;    }    //4)在HTTP请求中包含一个"User-Agent: "头的字符串。-----必设    //curl_setopt($ch, CURLOPT_USERAGENT, ‘SSTS Browser/1.0‘);    //curl_setopt($ch, CURLOPT_ENCODING, ‘gzip‘);

    curl_setopt ( $ch, CURLOPT_USERAGENT, ‘Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)‘ ); // 模拟用户使用的浏览器    //5)    //3.抓取URL并把它传递给浏览器    $res=curl_exec($ch);

    $result=json_decode($res,true);    //4.关闭curl资源,并且释放系统资源    curl_close($ch);    if(empty($result))        return $res;    else        return $result;

}
时间: 2024-10-07 16:49:56

curl 函数总结的相关文章

利用curl函数处理GET数据获取微信公众号的access_token

<?php//处理GET数据 $appid="wx0cf1ae434525b3bc";//填写AppID $secret="530d5915c163cce3073062e281a8b21c";//填写Secret $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}&quo

在PHP中开启CURL扩展,使其支持curl()函数

在用PHP开发CMS的时候,要用到PHP的curl函数,默认状态下,这个函数需要开启CURL扩展,有主机使用权的,可通过PHP.ini文件开启本扩展,方法如下: 1.打开php.ini,定位到;extension=php_curl.dll,将其前面的;去掉. 2.将PHP目录下ext目录中的:php_curl.dll.libeay32.dll和ssleay32.dll三个文件复制到系统system32目录下,重启IIS或apache. 3.为了确保是否已开启CURL扩展,可通过下述代码进行测试:

关于在用curl函数post网页数据时,遇上表单提交 type为submit 类型而且没有name和id时可能遇到的问题及其解决方法

curl函数库实现爬网页内容的链接在 http://www.cnblogs.com/linguanh/p/4292316.html 下面这个是没有name和id 标识的 <input type="submit" value="OnClick"/> 这种类型,在填写完信息后,我们一般需要点一个按钮去触发提交事件. 我之前介绍的用curl去获取网页cookie 的文章中 出现过的一个 变量 data,即要传送过去的 数据, 这个数据一般是网站的登陆账号和密码

PHP cURL函数库

index.php <?php/*使用PHP的cURL库可以简单和有效地去抓网页.只需要运行一个脚本,然后分析一下所抓取的网页,然后就可以以程序的方式得到想要的数据了.无论是想从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库可模拟登录,但尚未实现开启验证码的的论坛登录功能 需先打开PHP.ini配置文件启用 extension=php_curl.dll 库php curl库包含方法 curl_init — 初始化一个cu

Thinkphp3.2.3框架下封装公共的函数,例如封装CURL函数来获取接口数据

当我们需要在控制层调用相同的封装函数时,写多次相同的函数,显得代码十分的拉杂,不精简: TP框架有一个很好的机制,可以再Common定义一个function.php函数,当我们在控制层调用的时候直接调用就可以使用,方便快捷: 具体实现方便如下: 我们可以再三个地方设置公共的函数function.php (注意:function.php默认是不存在的,需手动创建) 根目录\Application\Common\Common\function.php(公共的函数,Home和Admin都可以调用) 根

PHP Curl 函数,支持POST GET

/** * @author default7<[email protected]>  * @param $url * @param string $method * @param array $postData * * @return mixed|null|string */ function getHttpContent($url, $method = 'GET', $postData = array()) { $data = ''; if (!empty($url)) { try { $c

PHP中的CURL函数库

PHP中的CURL函数库(Client URL Library Function) curl_close — 关闭一个curl会话curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数curl_errno — 返回一个包含当前会话错误信息的数字编号curl_error — 返回一个包含当前会话错误信息的字符串curl_exec — 执行一个curl会话curl_getinfo — 获取一个curl连接资源句柄的信息curl_init — 初始化一个curl会话curl_m

cURL函数库错误码说明之PHP curl_errno函数

背景概述:游戏接口是使用PHP cURL扩展进行请求操作.但是,被请求的服务器经常会无故的不响应或者超时.总之,就是请求之后收不到响应回来的数据.这时候可不能说对方API接口有问题,或者,服务器有故障.总之,可能出现的问题是非常之多.不能一概而论. 一.给出一段常用的PHP cURL代码: function sendRequestGame($url) { $header = array('Expect:'); $ch = curl_init(); curl_setopt($ch, CURLOPT

PHP采集相关教程之一 CURL函数库

先写一个简单的抓取页面函数 [php] view plaincopy <?php function GetSources($Url,$User_Agent='',$Referer_Url='') //抓取某个指定的页面 { //$Url 需要抓取的页面地址 //$User_Agent 需要返回的user_agent信息 如"baiduspider"或"googlebot" $ch = curl_init(); curl_setopt ($ch, CURLOPT

PHP中的CURL函数库(转载)

使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网 页,然后就可以以程序的方式得到你想要的数据了.无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内 容,cURL 是一个功能强大的PHP库. PHP中的CURL函数库(Client URL Library Function) curl_close — 关闭一个curl会话 curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数 cu