Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Сеть > Curl через раз возвращает ошибку 7 |
Автор: studentigor 27.7.2013, 13:34 | ||||
Всем привет. В общем есть сайт с объявлениями, он написан на asp. Мне нужно спарсить объявления, предварительно авторизировавшись. Сразу скажу, на локалке все работает отлично. Сама авторизация происходит в 3 этапа. followlocation не использую по этому для редиректе делаю ещё 1 дополнительный гет запрос. Первый запрос, гет, я со страници с формой авторизации беру токен. 1й - Отправка формы авторизации(1 пост + 1гет для редиректа). 2й - соглашение какое-то(1 пост + 1гет для редиректа). 3й - смена языка(1 пост, гет запрос делаю уже когда начинаю парсить обьявы). А вот у клиента на его сервере - както кривовато. В чем это видно. Все может упасть либо на сомом первом гет запросе, а может дойти и до последнего пост запроса(смена языка). Вот метод для авторизации
Метод getFormToken, делает обычный гет запрос(он же редирект), и из полученного контента возращает просто значения необходимых полей(текена).
И вот я уже не знаю на что грешить, вроде как и курл работает, и хостинг не режет(доходит же до последнего пост запроса). Но в итоге: Ошибка cURL 7: couldn't connect to host. У меня такое бывало на локалке - но то у меня интернет отваливался. Запустил на сервере и на локалке одновременно, в итоге на локалке парсит, а на сервере - ошибка. Подскажите плиз, в чем может быть ошибка. Спасибо. |
Автор: studentigor 10.8.2013, 10:34 |
В общем, проблемма на клиенском хостинге так и не решилась адекватными методами. Единственное решение, над которым не пришлось долго думать, это зациклить execute. Сделал так: Установыил число итераций, и когда делаю проверку результата, то в случае если его нет, вызываю себя же рекурсивно. Ну и само сабой, добавил счетчик итераций. Если даже через несколько попыток соединится не удалось - возвращаю пустой html(заглушку). Так получилось обойти эту проблемму, хотя и через костыль |
Автор: lumentek 25.8.2018, 01:08 |
Было подобное с одним сервисом. Он банил подсети крупных хостинг провадеров. Прокси в курсе спасло. |