KoolKabin
KoolKabin

Reputation: 17683

Stop Curl redirecting to new page

I am trying to make curl request to domain: http://xyz.com. here is my code.

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_URL, $strURL);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $arrData);

    curl_exec($ch);

While making request it gets redirected to some page within and don't come back to my page.

How can i stop being redirected in middle of curl request.

M sorry guys...

after the suggestion i tried CURLOPT_FOLLOWLOCATION to 0 and it worked... it was my mistake that i didn't remove next line of header redirection and it went on passing and passing...

sorry my mistake.

once more... CURLOPT_FOLLOWLOCATION to 0 wont transfer...

Upvotes: 1

Views: 5413

Answers (3)

Johan Denoyer
Johan Denoyer

Reputation: 19

Try using the CURLOPT_MAXREDIRS option.

CURLOPT_MAXREDIRS : The maximum amount of HTTP redirections to follow. Use this option alongside CURLOPT_FOLLOWLOCATION.

Upvotes: 1

Dark
Dark

Reputation: 515

Try to play with :

  1. CURLOPT_RETURNTRANSFER,

  2. CURLOPT_FOLLOWLOCATION,

  3. CURLOPT_COOKIEJAR,

  4. CURLOPT_COOKIEFILE

And think to log, it's easier to debug with it !

$handle = fopen('log.tmp', 'w');
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_STDERR, $handle);

Upvotes: 0

Aurimas Ličkus
Aurimas Ličkus

Reputation: 10074

I think because that page checks your user-agent or sets cookies, so you need to try mimic web browser as much as possible.

Like adding user-agent:

    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7');

Or try set cookie:

    $cookieJar = tempnam ("/tmp", "CURLCOOKIE");
    curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookieJar);

If you provide url maybe i could help more.

Upvotes: 1

Related Questions