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

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

时间:2017-08-17 10:24:14      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:ret   log   朋友   http   代码   use   模拟   etop   close   

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

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,很不错)

标签:ret   log   朋友   http   代码   use   模拟   etop   close   

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

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