Как узнать ответ сервера удаленной страницы

[Удален]
2117

Как узнать ответ сервера 200 OK ни 200 OK удаленной страницы не загружая её, тоесть допустим это фильм, то через curl например он загружает файл, возможно я делал что либо не так, но это факт.

юзаю такой код


function fetch_remote_file($url, $header = false) {
$user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9) Gecko/2008052906 Firefox/3.0 WebMoney Advisor';
@ini_set ( 'allow_url_fopen', '1' );
@ini_set ( 'default_socket_timeout', '5' );
@ini_set ( 'user_agent', $user_agent );
if (function_exists ( 'curl_init' )) {
if ($ch = curl_init ()) {
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_HEADER, $header );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, '5' );
curl_setopt ( $ch, CURLOPT_USERAGENT, $user_agent );
if ($data = curl_exec ( $ch )) {
curl_close ( $ch );
return $data;
}
}
}
return false;
}

$check = str_replace ( array ("\n", "\r" ), '', explode ( "\n", fetch_remote_file ( '/', true ) ) );

if (in_array ( 'HTTP/1.1 200 OK', $check, false )) {
echo '200 OK';
}

он загружает файл прежде чем выдать заголовок (((

[Удален]
#1

ну сервер выплевывает заголовок ответа только когда закрывается соединение. Стало быть, не загружая её - сомнительно. Если файл сервером отдается без всяких хитрых скриптов, а просто апачем, то можете быть уверены - он 200, при условии что появляется диалог загрузки.

А вообще юзайте firebug для фокса, зачем вам целый серверный скрипт.

[Удален]
#2

Нужно на строне сервера выполнить данную задачу состоящую более чем из 10к урл, все их нужно прогнать по скрипту и выкинуть из базу все не 200 ok

Борисович добавил 08.01.2009 в 01:58

Нашел хорошую функцию

http://ru2.php.net/manual/ru/function.http-get.php

но не хотелось бы ставить дополнения на сервер

[Удален]
#3
[Удален]
#4

neolord Спасибо, то что нужно было, а то все функции перерыл, чёт сразу не наткнулся на ней ))

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий