2015-12-08 63 views
3

我有一个脚本,当使用GET方法给它一个变量时,它会回应变量。我想把这个变量用在另一个脚本上。这是我做了什么cURL脚本不工作

<?php $ch = curl_init("http://website.com/test.php?str=test"); 
$response = curl_exec($ch); 
curl_close($ch); 

echo $response; ?> 

但是$响应变量cointains这样的:

我不知道我做错了,但如果有人能帮助我,我真的很喜欢它。

+1

谷歌**基本卷曲例如PHP ** ... – Naruto

+0

它的工作原理为[文档]中描述(http://php.net/manual/en/function.curl-exec.php)( '1'是'TRUE',它表示'成功')。如果你想获得检索页面的内容,你必须在执行之前使用['curl_setopt($ ch,CURLOPT_RETURNTRANSFER);'](http://php.net/manual/en/function.curl-setopt.php)请求。 – axiac

回答

1

你这是怎么需要使用PHP :)卷曲电源

<?php 
     // create curl resource 
     $ch = curl_init(); 

     // set url 
     curl_setopt($ch, CURLOPT_URL, "http://website.com/test.php?str=test"); 

     //return the transfer as a string 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

     // $output contains the output string 
     $output = curl_exec($ch); 

     // close curl resource to free up system resources 
     curl_close($ch); 

     echo $output; 

?>

您可以按照php manual

+0

这包含正确的答案,但没有解释缺失的OP,以及没有'CURLOPT_RETURNTRANSFER'的原因。 –

1

这是curl REST调用的一个基本的例子。 CURLOPT_RETURNTRANSFER确实需要回应。

<?php 

$curl = curl_init(); 

curl_setopt_array($curl, array(
    CURLOPT_URL => "http://website.com/test.php?str=test", 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_ENCODING => "", 
    CURLOPT_MAXREDIRS => 10, 
    CURLOPT_TIMEOUT => 30, 
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
    CURLOPT_CUSTOMREQUEST => "GET", 
    CURLOPT_HTTPHEADER => array(
    "cache-control: no-cache", 
    "postman-token: a852dce0-568e-41c8-0bc0-9e99fef9d09f" 
), 
)); 

$response = curl_exec($curl); 
$err = curl_error($curl); 

curl_close($curl); 

if ($err) { 
    echo "cURL Error #:" . $err; 
} else { 
    echo $response; 
}