首页 > Web开发 > 详细

PHP模拟POST提交数据并获得返回值之CURL方法(使用PHP extension,然后使用php_curl.dll,很不错)

时间:2017-08-17 09:39:49      阅读:195      评论:0      收藏:0      [点我收藏+]

今天公司做个东西,需要条用同事的接口,我的代码和他的代码不在同一个域下,但是都是子域。

a.ifensi.com与b.ifensi.com的关系。

我需要传递一个关联数组过去,他那边给我返回一个json对象。fsocket也可以实现这个需求,但是似乎代码行数比较多。朋友推荐用php的自带curl函数,但是用这个函数之前需要打开扩展,打开php.ini文件,把 ;extension=php_curl.dll 前面的;去掉,重启apache就可以了。
具体代码如下:

unset($arrPostInfo);
$arrPostInfo = array("key"=>$key,"cyid"=>$login_id,"startday"=>$startday,"endday"=>$endday,"page"=>$page,"limit"=>$pernum);
$url = ‘http://gb.ifensi.com/api/userhavelogs/‘;//请求的url地址

$ch = curl_init();//打开
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $arrPostInfo);
$response = curl_exec($ch);
curl_close($ch);//关闭
$result = json_decode($response,true);//因为接口那边返回的是json对象,所以这里把json对象解码并转换成数组,这样便于操作(json_decode()函数的第二个参数为true时,返回的就是解码后的数组,而不会是解码后的对象)。

这样写代码是不是比fsocket简洁多了。有点没搞明白,就是黑色加粗的四行代码似乎有顺序要求,我把前两项放到后面,就返回bool值。以后再研究研究.

http://blog.csdn.net/linking530/article/details/39400747

PHP模拟POST提交数据并获得返回值之CURL方法(使用PHP extension,然后使用php_curl.dll,很不错)

原文:http://www.cnblogs.com/findumars/p/7378468.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!