как разобрать страницу которая идет по заголовку 302? - PullRequest
0 голосов
/ 21 января 2010

Мне нужно разобрать страницу в php, URL страницы идет 302 Временно перемещен заголовок и перемещен на не найденную страницу. Его данные можно получить вручную через консольную опцию добавления Firebug в Mozilla. Если я попытаюсь разобрать его с помощью php, он выдаст мне не найденную страницу. Как я могу разобрать эту страницу, пожалуйста, предложите ??

редактирование: я делаю что-то подобное, чтобы получить содержимое страницы

$file_results = @fopen("http://www.the url to be parses","rb");
    $parsed_results='';
    if($file_results)
    {
        while ($data3 = fread($file_results,"125000"))
        $parsed_results .= $data3;
    }

Ответы [ 2 ]

1 голос
/ 21 января 2010

Вы можете использовать get_headers () , чтобы найти все заголовки во время перенаправления.

$url = 'http://google.com';
$headers = get_headers($url, 1);

print 'First step gave: ' . $headers[0] . '<br />';

// uncomment below to see the different redirection URLs
// print_r($headers['Location']);

// $headers['Location'] will contain either the redirect URL, or an array
// of redirection URLs
$first_redirect_url = isset($headers['Location'][0]) ?
    $headers['Location'][0] : $headers['Location'];

print "First redirection is to: {$first_redirect_url}<br />";

// assuming you have fopen wrappers enabled...
print file_get_contents($first_redirect_url);

И просто продолжайте искать, пока не получите нужный ресурс?

0 голосов
/ 21 января 2010

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

...