码迷,mamicode.com
首页 > Web开发 > 详细

php curl使用例子

时间:2015-04-02 14:52:56      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

PHP支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。libcurl目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议,以下代码是 微信支付中,curl的使用代码
	/**
	 * 	作用:使用证书,以post方式提交xml到对应的接口url
	 */
	function postXmlSSLCurl($xml,$url,$second=30)
	{
		$ch = curl_init();
		//超时时间
		curl_setopt($ch,CURLOPT_TIMEOUT,$second);
		//这里设置代理,如果有的话
        //curl_setopt($ch,CURLOPT_PROXY, ‘8.8.8.8‘);
        //curl_setopt($ch,CURLOPT_PROXYPORT, 8080);
        curl_setopt($ch,CURLOPT_URL, $url);
        //证书在服务器段不进行验证
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
        //不检查公用名称和主机名称是否匹配
        curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
		//设置header
		curl_setopt($ch,CURLOPT_HEADER,FALSE);
		//要求结果为字符串且输出到屏幕上
		curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
		//设置证书
		//使用证书:cert 与 key 分别属于两个.pem文件
		//默认格式为PEM,可以注释
		curl_setopt($ch,CURLOPT_SSLCERTTYPE,‘PEM‘);
		curl_setopt($ch,CURLOPT_SSLCERT, WxPayConf_pub::SSLCERT_PATH);
		//默认格式为PEM,可以注释
		curl_setopt($ch,CURLOPT_SSLKEYTYPE,‘PEM‘);
		curl_setopt($ch,CURLOPT_SSLKEY, WxPayConf_pub::SSLKEY_PATH);
		//post提交方式
		curl_setopt($ch,CURLOPT_POST, true);
		curl_setopt($ch,CURLOPT_POSTFIELDS,$xml);
		$data = curl_exec($ch);
		//返回结果
		if($data){
			curl_close($ch);
			return $data;
		}
		else { 
			$error = curl_errno($ch);
			echo "curl出错,错误码:$error"."<br>"; 
			echo "<a href=‘http://curl.haxx.se/libcurl/c/libcurl-errors.html‘>错误原因查询</a></br>";
			curl_close($ch);
			return false;
		}
	}

  

php curl使用例子

标签:

原文地址:http://www.cnblogs.com/gophper/p/4386810.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!