Komninos
Komninos

Reputation: 96

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.

Upvotes: 3

Views: 193

Answers (3)

online Thomas
online Thomas

Reputation: 9381

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

Upvotes: 1

Aniruddha Chakraborty
Aniruddha Chakraborty

Reputation: 1867

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

Upvotes: 1

Jacob
Jacob

Reputation: 601

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.

Upvotes: 3

Related Questions