CURL和重定向
您好。
我使用CURL检查一些网站。我遇到了一些重定向问题。不是每一次,只有少数情况。
在这种情况下,我有一个302代码,但重定向网址与原始网址相同。
转储CURL变量:
array(23) {
["url"]=> string(33) "http://www.apostasurpresa.gov.br/"
["content_type"]=> string(24) "text/html; charset=UTF-8"
["http_code"]=> int(302)
["header_size"]=> int(180)
["request_size"]=> int(92)
["filetime"]=> int(-1)
["ssl_verify_result"]=> int(0)
["redirect_count"]=> int(0)
["total_time"]=> float(0.037685)
["namelookup_time"]=> float(0.000171)
["connect_time"]=> float(0.018808)
["pretransfer_time"]=> float(0.01882)
["size_upload"]=> float(0)
["size_download"]=> float(0)
["speed_download"]=> float(0)
["speed_upload"]=> float(0)
["download_content_length"]=> float(0)
["upload_content_length"]=> float(0)
["starttransfer_time"]=> float(0.037521)
["redirect_time"]=> float(0)
["redirect_url"]=> string(33) "http://www.apostasurpresa.gov.br/"
["primary_ip"]=> string(15) "200.201.166.106"
["certinfo"]=> array(0) { } }
卷曲页面:
$ch = curl_init();
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,60);
curl_setopt($ch, CURLOPT_COOKIESESSION , 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST ,'GET');
// curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
// curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HEADER, 1); // true
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_POSTREDIR, 6);// 3 => 6
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // false
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0");
$txt_pagina = curl_exec($ch);
$info=curl_getinfo($ch);
curl_close($ch);
由于
答案 0 :(得分:0)
好的,在评论后跟进答案:)
我使用wget检查了这一点,它实际上会重定向到几个地方,然后登陆您在上面提供的门户页面网址上。
原始网址抛出302,返回自身,然后返回301.然后重定向到的网址会产生大量的javascript,然后javascript会重定向。
所以你的代码没有用,因为它没有解析javascript来重定向......
所以...解决方案。为什么不直接指向门户页面而不是处理多个重定向?如果网址没有以/结尾使用http://loterias.caixa.gov.br/wps/portal/loterias/作为您的网址,则门户网站会重定向。