您当前的位置: 首页 > 网站编程 > PHP教程 > php中Curl函数常用的两个例子

php中Curl函数常用的两个例子

作者:不详 来源:网络 发布时间: 2014-08-07 20:46 点击:
例子, 模拟登陆 代码如下 /** * 模拟登陆 * $url 请求地址 * $post 需要POST的数据 * $cookie 登陆时取的的COOKIE * $cookiejar cookie要存到的位置 例如/tmp/test.cookie * $referer 上页地址 * **/ function vcurl($url, $post = '', $cookie = '', $cookiejar = '',

php中Curl函数常用的两个例子

  例子, 模拟登陆

  

  

  

  

  

  

  

  

  

  

  
代码如下
/**

  * 模拟登陆

  * $url 请求地址

  * $post 需要POST的数据

  * $cookie 登陆时取的的COOKIE

  * $cookiejar cookie要存到的位置 例如/tmp/test.cookie

  * $referer 上页地址

  *

  **/

  function vcurl($url, $post = '', $cookie = '', $cookiejar = '', $referer = ''){

  $tmpInfo = '';

  //用来存放cookie的文件

  //初始化curl

  $curl = curl_init();

  //设定目标网址

  curl_setopt($curl, CURLOPT_URL, $url);

  //使用目前所用的浏览器代理

  curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);

  //curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");

  //如果有Ref参数,则设置Referer头,否则自动设置Referer头

  if($referer) {

  curl_setopt($curl, CURLOPT_REFERER, $referer);

  } else {

  curl_setopt($curl, CURLOPT_AUTOREFERER, 1);

  }

  //如果有post数据参数,则方法为POST,并且设置数据,否则为GET

  if($post) {

  //发送一个常规的POST请求,默认类型为:application/x-www-form-urlencoded,www.111cn.net表单提交

  curl_setopt($curl, CURLOPT_POST, 1);

  curl_setopt($curl, CURLOPT_POSTFIELDS, $post);

  }

  //如果有cookie参数,则设置

  if($cookie) {

  curl_setopt($curl, CURLOPT_COOKIE, $cookie);

  }

  //如果有cookie文件参数,则设置存取Cookie文件名

  if($cookiejar) {

  curl_setopt($curl, CURLOPT_COOKIEJAR, $cookiejar);

  curl_setopt($curl, CURLOPT_COOKIEFILE, $cookiejar);

  }

  //如果是302转移,则返回转移后的网址及内容

  curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

  //设置执行的最大秒数

  curl_setopt($curl, CURLOPT_TIMEOUT, 100);

  //返回内容中是否包含头信息

  curl_setopt($curl, CURLOPT_HEADER, 0);

  //把返回的结果存在文件或者变量中,而不是直接显示在浏览器

  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

  //执行函数后的返回结果

  $tmpInfo = curl_exec($curl);

  //如果出错,显示错误信息

  if (curl_errno($curl)) {

  $tmpInfo = '<pre><b>错误:</b><br />'.curl_error($curl);

  }

  //关闭curl对象

  curl_close($curl);

  //返回结果

  return $tmpInfo;

  }


  例子、soap

  

  

  

  

  

  

  

  

  

  

  
代码如下
function vcurlsoap($url, $SoapRequest, $SoapAction) {

  $ch = curl_init (); //initiate the curl session

  curl_setopt ( $ch, CURLOPT_URL, $url ); //set to url to post to

  curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // return data in a variable

  curl_setopt ( $ch, CURLOPT_HEADER, 0 );

  curl_setopt ( $ch, CURLOPT_POST, 1 );

  curl_setopt ( $ch, CURLOPT_POSTFIELDS, $SoapRequest ); // post the xml

  curl_setopt ( $ch, CURLOPT_TIMEOUT, 60 ); // set timeout in seconds

  curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, 0 );

  $header = array ("Content-Type: text/xml" );

  $header [] = "Content-Length: ".strlen($SoapRequest);

  if (! is_null ( $SoapAction ))

  $header [] = 'SOAPAction: "' . $SoapAction . '"';

  curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );

  $xmlResponse = curl_exec ( $ch );

  curl_close ( $ch );

  return $xmlResponse;

  }
分享到:
本文"php中Curl函数常用的两个例子"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4