Can cUrl redirect to URL (post) page?

2.9k views Asked by At

After executing cUrl method, my browser stays on same page, but loads content of page called in a curl init.

Is it possible to redirect browser to that URL?

$ch=curl_init($URL); 
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$DataToSend);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1); 
$varResponse=curl_exec($ch); 
curl_close($ch); 

echo $varResponse;

exit;

UPDATE: So, is not about redirecting, it's about posting data using curl.

Thank you in advance!

2

There are 2 answers

2
carmel On BEST ANSWER

curl is for calling a URL and fetching the response.

If you echo it to the browser then the browser will show the response that was fetched from the URL.

Example

If you have a website. with domain website.com.

And when a user goes to the website.com home page, you do

$ch=curl_init("www.google.com"); 
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$DataToSend);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1); 
$varResponse=curl_exec($ch); 
curl_close($ch); 

echo $varResponse;

exit;

The user will still be on website.com but the content of the page will show the html that google.com returns.

1
Fabian Horlacher On

This is how to redirect the browser to the URL gathered by cURL:

$ch=curl_init($URL); 
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$DataToSend);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1); 
$varResponse=curl_exec($ch); 
curl_close($ch); 

header('Location: ' . $varResponse);
exit;