Добрый день, уважаемые. Подскажите такой момент: беру некоторый контент с вики через file_get_contents, к примеру так: Код (Text): $value = 'Мягкая_мебель'; $buf = file_get_contents('http://ru.wikipedia.org/wiki/' . $value); echo $buf; Так вот, срабатывает сие через раз, примерно в 30% случаев, а в остальных же дает Warning: file_get_contents(http://ru.wikipedia.org/wiki/Мягкая_мебель): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in ... Может ли такая беда быть из-за того, что я не отправляю useragent? По идее, без него запросы моего скрипта должны блочиться принимающим сервером, но это происходит не всегда, да и только с определенными адресами, как например выше. Если все же это происходит по вине отсутствия юзерагента, то подскажите, как отсылать его вместе с file_get_contents. Подобную инфу как то в инете не встретил. Использовать curl конечно можно, но хочется добить это решение. Заранее всем спасибо.
shd, дело в том, что некоторых страничек в википедии не существует. Поэтому выходит ошибка 403. Предлагаю проверить: $value = 'Мягкая_мебель'; (здесь все хорошо) и $value = 'Глазовыколупывательница'; выдает: Warning: file_get_contents(http://ru.wikipedia.org/wiki/Глазовыколупывательница) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in C:\Program Files\xampp\htdocs\index1.php on line 3
Не, это я прекрасно понимаю, но ведь получал Forbidden именно по мягкой мебели. С несуществующими страничками все понятно. Кстати, useragent уже понял как отослать, и все благополучно получилось. Только вот до сих пор интересно: если дело все же было в нем, тогда почему контент с некоторых страничек все же получался?
Ну мало ли, думал вообще при таком раскладе должен отфутболивать... да и не несколько запросов. за минут двадцать он мне выдал примерно 30% из 300 запросов, остальные forbidden