0

好的,这可能是一个简单的问题。我有一个工作概念,即发布到外部域并让它与帖子一起做我想要和需要它做的事情。然而。在完成我想要它做的事情之后,我需要它输出一个 JSON 响应,然后我可以使用源域。我知道使用 cURL 我应该能够获取什么输出,但我不确定如何将其转化为我所拥有的,因为这是最初由其他人提供给我的,我对 cURL 不是很熟悉

到目前为止,这就是我可以发布到域的内容。

$url = 'http://thedomain.com/new/';
        $fields = array(
                    'api'=>'randomkey',
                    'id'=>'100000',
                    'url'=>urlencode($longurl),
                );

    //url-ify the data for the POST
    $fields_string = '?';
    foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
    rtrim($fields_string,'&');

    //open connection
    $ch = curl_init();

    //set the url, number of POST vars, POST data
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_POST,count($fields));
    curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);

    //execute post
    $result = curl_exec($ch);

    //close connection
    curl_close($ch);

如何更改它以获取外部站点以 JSON 形式吐出的内容并拥有它,以便我可以从我正在使用的域中使用它?

4

1 回答 1

2

您缺少RETURNTRANSFER告诉 cURL 将响应返回给您的选项$result

curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);

现在您有了响应,您可以对其进行操作,json_encode()然后根据需要输出它。

于 2012-06-11T06:38:50.830 回答