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


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

    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

  • 相关阅读:
    【CSS】带箭头的二级菜单页面
    golang写入Excel并设置样式
    golang之xorm简单使用
    golang全局变量的一个坑,main中无法获取init初始化的变量
    golang influxdb2读写封装
    将本地导入的jar包添加到maven中
    电脑天才郭盛华,如今怎样了?
    黑客在云环境中寻找攻击路径
    联想 UEFI 固件漏洞影响超100万台笔记本电脑
    IDEA的热部署
  • 原文地址:https://www.cnblogs.com/findumars/p/7378468.html
Copyright © 2020-2023  润新知