【问题标题】:Post json data with PHP curl and parameters使用 PHP curl 和参数发布 json 数据
【发布时间】:2015-09-27 15:10:29
【问题描述】:

你能帮我解决这个问题吗?

我需要连接到 json API 并通过两个参数(key 和 connector_id)进行身份验证(connectorauth)。 Key 是 API 密钥,connector_id 只是一个 id。 我还有一个可以从中提取数据的网址。

我只知道我必须通过 post 和 curl 获取数据。您能否给我发送一个示例脚本来进行身份验证。不知道怎么用key和connector_id这两个参数。

我应该在标题中使用它们,还是应该使用 CURLOPT_USERPWD。​​p>

如果成功,我应该得到这个结果 -

谢谢

【问题讨论】:

    标签: php json api post curl


    【解决方案1】:

    试试这个,

    $url 将是帖子网址
    $params 是查询字符串,例如:- key=somevalue&connector_id=value

    $count 没有传递的参数。在此示例中包含 2 个键和 connector_id

    function download_page($url, $count, $params) {
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch, CURLOPT_FAILONERROR, 1);
                curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
                curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
                curl_setopt($ch, CURLOPT_TIMEOUT, 15);
                curl_setopt($ch, CURLOPT_POST, $count);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
                $result = curl_exec($ch);
                curl_close($ch);
                return $result;
            }
    

    【讨论】:

    • 是的,它奏效了。非常感谢 :) SSL 也有问题,所以我需要添加 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    猜你喜欢
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    相关资源
    最近更新 更多