zoukankan      html  css  js  c++  java
  • php curl使用例子

    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;
    		}
    	}
    

      

  • 相关阅读:
    用于Delphi的DevExpress VCL组件——富文本编辑功能升级
    5个技巧,教你优化React App性能
    DevExpress WPF模板库助力快速完成界面美化
    Web开发小技巧放送
    WinForm应用界面开发入门指南
    浅析C#中单点登录的原理和使用
    Wireshark抓包,带你快速入门
    你必须知道的EF知识和经验
    你知道SqlDataAdapter中的Fill是怎么实现的吗
    一文说通C#中的异步编程
  • 原文地址:https://www.cnblogs.com/gophper/p/4386810.html
Copyright © 2011-2022 走看看