Страницы: 1
RSS
Загрузка кода веб-страницы, как сервер понимает, что это запрос не через браузер?
 
Добрый день

вопрос вот в чем. Есть задача получить исходный код веб-страницы в текстовую переменную. Данный код прекрасно справляется в большинстве простых случаев:

Код
Sub sample()
sURL = "https://yandex.ru"
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")   
    With oXMLHTTP
        .Open "GET", sURL, False
        .send
        If .Status = 200 Then txt = .responseText
    End With
MsgBox (txt)        
End Sub


Сама искомая веб-страница вот:
http://www.manta.com/ic/mtq599v/ca/45th-street-limited-partnership

дальше начинаются сложности - в браузере страница отображается корректно, а при выполнении кода:

Код
Sub sample()
sURL = "http://www.manta.com/ic/mtq599v/ca/45th-street-limited-partnership"
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
    With oXMLHTTP
        .Open "GET", sURL, False
        .send
        If .Status = 200 Then txt = .responseText
    End With
MsgBox (txt)         
End Sub


ответ сервера содержит только информацию, что роботам данные не предоставляются.

Собственно сам вопрос - чем отличается запрос от браузера и от макроса, и, главное, как убедить сервер дать корректный ответ?
Спасибо.
 
Могу только предположить, что нужно указывать USERAGENT.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Вообще, надо заголовки запроса передавать
Смотрите, какие браузер передает - то же и передавайте
Чаще сайт смотрит на заголовок Host

В вашем же случае, все сложнее, - например, с моего IP вообще доступа нет (в браузере пишет, что доступ запрещен, а через прокси открывается)
Так что сайт с заморочками, - там надо все заголовки передавать, а для последующих запросов - еще и Cookies (коих там много)
Страницы: 1
Читают тему
Наверх