|
|
|
| Долгое время использовал file_get_contents() работало и ладно
теперь погодку для сайта не могу скачать :(
видать закрыли доступ. хотелось бы подгрузить именно ту страницу которую надо.
главную сайта смог подгрузить. а как конкретную не пойму. :(
качаю от сюда http://www.gismeteo.ru/towns/31445.htm
где прописать чтобы именно эту страницу
подскажите плиз.
использую код с софтайма (где то тут видал)
$fp = fsockopen("www.gismeteo.ru", 80, $errno, $errstr, 30);
if (!$fp)
{
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.gismeteo.ru\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
|
| |
|
|
|
|
|
|
|
для: mikesvb
(06.03.2009 в 16:00)
| |
$out = "GET /towns/31445.htm HTTP/1.1\r\n";
|
PS только сдаётся мне, что не поможет. Тут надо полностью под браузер косить, т.е. с указанием юзер-агента | |
|
|
|
|
|
|
|
для: Axxil
(06.03.2009 в 16:12)
| | ну не подошло...
чегото отвечает как то странно.
как под браузер закосить? | |
|
|
|
|
|
|
|
для: MikeSVB
(06.03.2009 в 16:22)
| | какой ответ получаете? | |
|
|
|
|
|
|
|
для: Axxil
(06.03.2009 в 16:30)
| | HTTP/1.1 302 Moved Temporarily Server: nginx/0.5.35 Date: Fri, 06 Mar 2009 13:35:34 GMT Content-Type: text/html Content-Length: 161 Connection: close Location: http://www.gismeteo.ru/city/old/?city=31445
302 Found
nginx/0.5.35 | |
|
|
|
|
|
|
|
для: MikeSVB
(06.03.2009 в 16:35)
| | Ну если даже в браузере попробовать открыть ту ссылку куда вы долбитесь, то идёт редирект сюда: http://www.gismeteo.ru/city/daily/4846/.
Отсюда и забирайте страницу. Хоть сокетами, хоть через file_get_contents, которая по сути является обычной обёрткой для простого HTTP запроса страницы.
PS Описание HTTP протокола посмотрите на досуге. Очень много вопросов впоследствии отпадёт. | |
|
|
|
|
|
|
|
для: Axxil
(06.03.2009 в 16:50)
| | а по мне что тут http://www.gismeteo.ru/towns/31445.html открывается браузер
и что тут http://gismeteo.ru/city/daily/4846/ (только это не открывается через браузер, а только через сокет на сайте)
совсем разные данные
как вы узнали что city/daily/4846/ сюда кидает? | |
|
|
|
|
|
|
|
для: MikeSVB
(06.03.2009 в 17:10)
| | ну откройте ссылку http://www.gismeteo.ru/towns/31445.htm и посмотрите какой будет урл у страницы.
да и в ответе вам выдаётся заголовок: Location: http://www.gismeteo.ru/city/old/?city=31445 , который в свою очередь даст даст заголовок: Location: http://www.gismeteo.ru/city/daily/4846/
такая вот система редиректов | |
|
|
|
|
|
|
|
для: Axxil
(06.03.2009 в 17:27)
| | оказалось что у меня провайдер тупит по жёсткой. блин. дальний восток и местные провайдеры самые медленно обновляемые :((( | |
|
|
|