2012-06-01 4 views
1

Я пытаюсь сделать запрос на завивание домена: http://xyz.com. вот мой код.Stop Curl перенаправление на новую страницу

$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); 

При выполнении запроса он перенаправляется на некоторую страницу внутри и не возвращается на мою страницу.

Как я могу перестать перенаправляться в середине запроса на завивание.

жаль, ребята ...

после внушения я попытался CURLOPT_FOLLOWLOCATION 0, и это сработало ... это была моя ошибка, что я не удалить следующую строку заголовка перенаправления, и он пошел на мимоходом и вскользь ...

извините моя ошибка.

еще раз ... CURLOPT_FOLLOWLOCATION для передачи 0 обыкновения ...

+0

Как вы знаете, что это перенаправляет? –

+1

, если CURLOPT_FOLLOWLOCATION равно 0, завиток не следует за перенаправлением. период. –

ответ

0

Try играть:

  1. CURLOPT_RETURNTRANSFER,

  2. CURLOPT_FOLLOWLOCATION,

  3. CURLOPT_COOKIEJAR,

  4. CURLOPT_COOKIEFILE

И подумайте, что с этим легче отлаживать!

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

Попробуйте использовать опцию CURLOPT_MAXREDIRS.

CURLOPT_MAXREDIRS: Максимальное количество перенаправления HTTP для последующего использования. Используйте этот параметр рядом с CURLOPT_FOLLOWLOCATION.

+1

Это не должно иметь значения, если для параметра «FOLLOWLOCATION» установлено значение 0. – Jeroen

+0

Да, не имеет значения ... – KoolKabin

1

Я думаю, потому что эта страница проверяет ваш пользовательский агент или устанавливает куки-файлы, поэтому вам нужно как можно больше попробовать имитировать веб-браузер.

Как добавление агента пользователя:

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'); 

Или попробуйте установить печенье:

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

Если вы предоставите URL может быть, я мог бы помочь больше.

+0

does cookiejar также работает для другого домена? образец url в порядке или нужен точный url? coz url хранится в тайне для некоторой причины ... – KoolKabin

+0

с веб-браузером вы можете открыть эту веб-страницу без проблем, не так ли? –

+0

да, я могу ... на самом деле я публикую значение формы без отображения формы ... – KoolKabin

Смежные вопросы