我有一个脚本,当使用GET方法给它一个变量时,它会回应变量。我想把这个变量用在另一个脚本上。这是我做了什么cURL脚本不工作
<?php $ch = curl_init("http://website.com/test.php?str=test");
$response = curl_exec($ch);
curl_close($ch);
echo $response; ?>
但是$响应变量cointains这样的:
我不知道我做错了,但如果有人能帮助我,我真的很喜欢它。
我有一个脚本,当使用GET方法给它一个变量时,它会回应变量。我想把这个变量用在另一个脚本上。这是我做了什么cURL脚本不工作
<?php $ch = curl_init("http://website.com/test.php?str=test");
$response = curl_exec($ch);
curl_close($ch);
echo $response; ?>
但是$响应变量cointains这样的:
我不知道我做错了,但如果有人能帮助我,我真的很喜欢它。
您需要设置CURLOPT_RETURNTRANSFER
才能从curl_exec
获得响应主体。
试试这个,从http://php.net/manual/en/function.curl-setopt.php:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
你打电话之前curl_exec
。
你这是怎么需要使用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
这包含正确的答案,但没有解释缺失的OP,以及没有'CURLOPT_RETURNTRANSFER'的原因。 –
这是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;
}
谷歌**基本卷曲例如PHP ** ... – Naruto
它的工作原理为[文档]中描述(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