在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
今天和第三方支付做对接的时候,在本地用wamp(php版本5.4.14)运行他们的支付demo的时候,报了一个错误。loadXML函数中不能传空值。排查代码的时候,发现他们用了curl,我以前也接触过curl,但是并没有很深的研究只知道他是一种模拟浏览器传输数据的工具。借着这个机会把curl好好的研究一下。 1、curl是什么 百度百科给的解释是:数据传输神器。那它神器在什么地方那,通过查找资料得出curl可以使用url的语法模拟浏览器来传输数据,因为是模拟浏览器所以它支持多种的网络协议。目前支持http、https、ftp、PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。 php中使用最多的是通过curl来模拟get和post请求。
2、如何使用curl (1)、要想使用curl,第一步先要在php中开启curl,在php配置文件php.ini中找到extension=php_curl.dll,把前面的‘;’去掉。重启服务器。在php代码中用phpinfo()打印,发现图中curl说明开启成功。 (2)、使用curl完成简单的请求主要分为四大步: 1).初始化,创建一个新的curl资源。 2).设置url和相应的选项 3).抓取url并把他传递给浏览器 4).关闭curl资源。把资源释放。 1 $MyAES = new MyAES(); 2 $jiaRes = $MyAES->desEncryptStr($data,"1102130405061708"); 3 $header[] = "Content-type: text/xml;charset=UTF-8"; 4 $ch = curl_init(); 5 curl_setopt($ch, CURLOPT_URL,REURL); 6 curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); 7 curl_setopt($ch, CURLOPT_HTTPHEADER,$header); 8 curl_setopt($ch, CURLOPT_POST, true); 9 curl_setopt($ch, CURLOPT_POSTFIELDS, $jiaRes); 10 $aa = curl_exec($ch); 11 // grab URL, and print 12 if(curl_errno($ch)){ 13 print curl_error($ch); 14 } 15 curl_close($ch); 贴上项目一段代码,好好的分析一下。 curl_init这个是初始化,创建一个新的curl资源。
curl_setopt这个是php的函数。设置一个curl传输选项。 CURLOPT_HTTPHEADER 一个用来设置HTTP头字段的数组。使用如下的形式的数组进行设置:
CURLOPT_POST 启用时会发送一个常规的POST请求 CURLOPT_POSTFIELDS 全部数据以http协议中post方式发送。 跟多curlopt对应的设置请查看php文档 http://php.net/manual/zh/book.curl.php 1 <?php 2 // 创建一个新cURL资源 3 $ch = curl_init(); 4 5 // 设置URL和相应的选项 6 $options = array(CURLOPT_URL => 'http://www.example.com/', 7 CURLOPT_HEADER => false 8 ); 9 10 curl_setopt_array($ch, $options); 11 12 // 抓取URL并把它传递给浏览器 13 curl_exec($ch); 14 15 // 关闭cURL资源,并且释放系统资源 16 curl_close($ch); 17 ?> curl是很强大的,例如,我们只想把获取到的内容输入到文件,而不是直接输出给浏览器,我们就可以使用CURLOPT_RETURNTRANSFER选项! |
2022-07-22
2022-07-29
2022-08-30
2022-08-17
2022-08-15
请发表评论