Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> curl Bad Request - Invalid Hostname 
:(
    Опции темы
barcelona
Дата 24.6.2013, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.4.2007

Репутация: нет
Всего: нет



Здравствуйте!
Надо получить данные с сайта на asp. Пытаюсь сделать это через php curl. Страницу получить никак не выходит, вечно выкидывает на авторизацию. Мелькнула мысль, что дело может быть в заголовках, может быть, сайт их проверяет. При попытке отправить заголовки

Код

curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: text/html, application/xhtml+xml, */*' . "\r\n", 
'Accept-Encoding: gzip, deflate' . "\r\n", 
'Accept-Language: ru-RU' . "\r\n", 
'User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)' . "\r\n",
'Referer: http://auto-iksora.ru/GPSR/index.aspx'  . "\r\n",
'Connection: Keep-Alive' . "\r\n", 
'Host: <<host.ru>>' . "\r\n", 
"\r\n", 
"\r\n"));


получаю ответ: Bad Request - Invalid Hostname. Т.е., как я понимаю, то ли сервер, то ли asp проверяет, с какого хоста отправлен запрос, а поскольку я отправляю запрос не с <<host.ru>> (а ожидается именно с него), то и выходит такая ошибка. Есть ли у проблемы решение?

PM MAIL   Вверх
Sanchezzz
Дата 24.6.2013, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



CURL по умолчанию все заголовки правильные отправляет по возможности с HTTP1.1 если не пошло то HTTP1.0
Единственное что нужно менять это User-agent, так как светило что это скрипт)

Код

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt_array($ch ,array(
        CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36",
        CURLOPT_URL            => $url,
        //CURLOPT_ENCODING => 'gzip',
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_FOLLOWLOCATION => 1,
        CURLOPT_CONNECTTIMEOUT => 20,
        CURLOPT_TIMEOUT        => 60,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_SSL_VERIFYHOST => 0
    ));
    $data  = curl_exec($ch);
    print_r(curl_getinfo($ch));   // ДЛЯ ОТЛАДКИ
    curl_close($ch);



--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
barcelona
Дата 24.6.2013, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.4.2007

Репутация: нет
Всего: нет



Если задать CURLOPT_SSL_VERIFYPEER и CURLOPT_SSL_VERIFYHOST в 0, то получаю

Bad Request - Invalid Verb.

Не знаю, в чём тут дело, потому что куки я на сервер отправляю, никакие данные форм он от меня не ждёт, USER_AGENT я задаю, а сервер всё равно как-то определяет, что я не браузер) Вот и пришла в голову мысль про заголовки.
PM MAIL   Вверх
Sanchezzz
Дата 24.6.2013, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



А где тестируете на отдельной машине ?

Может быть и такое что сервер занес IP машины в собственный блек лист. 


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
barcelona
Дата 24.6.2013, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 21.4.2007

Репутация: нет
Всего: нет



Я на 2 серверах тестировал, везде один и тот же результат.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0838 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.