好的,这可能是一个简单的问题。我有一个工作概念,即发布到外部域并让它与帖子一起工作,做我想做的事情,并且需要它做。然而。我需要它做完我想要它做的输出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形式吐出的内容并将其设置为可以从我正在使用的域中使用它?
答案 0 :(得分:2)
您错过了RETURNTRANSFER
选项,该选项告诉cURL将回复返回到您的$result
:
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
现在你有了响应,你可以操纵它,json_encode()
然后根据需要输出它。