简体   繁体   中英

cURL script not working

I have a script, that when a variable is given to it using the GET method, it echoes the variable. I want to take this variable and use it on another script. This is what I have done

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

echo $response; ?>

But the $response variable cointains this:

1

I don't know what I have done wrong but if someone can help me, I would really appretiate it.

You need to set CURLOPT_RETURNTRANSFER in order to get the response body from curl_exec .

Try this, from http://php.net/manual/en/function.curl-setopt.php :

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

before you call curl_exec .

This is How You need to use CURL Power of 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;

?>

You can follow php manual

This is a basic example of a curl REST call. CURLOPT_RETURNTRANSFER is indeed needed for a response.

 <?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;
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM