Сабж.
Отправляю POST запрос этой функцией.
ГЛАВНОЕ - запрос выполняется.
Но долго, и выдает ошибку "failed to open stream: HTTP request failed!".
То же самое будет, если использовать get_headers ().
Запрос выполняется, но долго блеать и ошибку выдает.
Код приводить нет смысла. Ошибка распространенная и никто не знает в чем причина и как ее решать.
Мож все-таки кто здесь знает?
Хотя врятли...
Replikon,
использовать curl и ставить
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
не вариант?
отвалится сам через 3 секунды если не будет ответа
Kovalsky, нет, использовать curl не вариант. Я уже его использовал и там еще неадекватнее глюки. А таймаут я уже выставлял.
Ошибка остается, запрос выполняется
Replikon, можно через fopen() и тд. попробывать. Там тоже можно передавать собственные заголовки. Примеры в старых граберах.
07 Ноя 2011, 22:26Okula, нет, граблю через прокси.
добавлено спустя 1 минуту:
Может дело в другом?
Вообщем, запрос долго выполняется ТОЛЬКО к определенному сайту.
Если выполнить этот запрос к любому другому, то он выполняется как надо, быстро, и ошибок не возникает.
Говорю тебе - либо тебя забанили (прокси могут тоже забанить, список постоянно надо обновлять), либо сайт который грабишь сдох.
08 Ноя 2011, 13:32Okula, хмм, ошибка действительно возникала из-за прокси.
Теперь другой вопрос.
Отправляю POST запросы в цикле.
Привожу подробную распечатку заголовков ответа сервера.
Судя по ним все просто ОК.
НО. Выполняется только первый запрос (к id701).
А все остальные нет.
Я уже замечал такую же хрень при использовании CURL.
Тоже из запросов в цикле только первый выполнялся.
Я тогда подумал, что это курл тупит.
И теперь то же самое повторяется при использовании совершенно другого метода.
Мож у меня что с PHP не то?
Может он как-то соединения запрещает?
Хотя, по заголовкам ответа, повторяю, все запросы выполняются.
Вообщем, вот распечатка: