Я пытаюсь создать макрос Excel, который будет получать котировки акций от Google или Bloomberg. Кажется, что каждый сайт обнаруживает, что я не звоню из веб-браузера и отказывается работать.
Вот упрощенная версия моего кода, демонстрирующая проблему. Если вы скопируете и вставите значение URL непосредственно в веб-браузер, он будет работать нормально. Но если вы посмотрите на результат, возвращаемый моим кодом, это сообщение, которое по сути говорит: «Мы думаем, что вы не человек». Любой способ обойти это?
(версия Bloomberg на самом деле предпочтительнее, потому что возвращает JSON. Версия Google возвращает HTML, что мне придется анализировать. Но на этом этапе я возьму все, что угодно.)
Private Sub TestQuote()
Dim sURL As String
Dim http As WinHttp.WinHttpRequest
'BLOOMBERG QUERY
sURL = "https://www.bloomberg.com/markets/api/bulk-time-series/price/MSFT%3AUS?timeFrame=1_DAY"
'GOOGLE QUERY
'sURL = "https://www.google.com/search?q=MSFT"
Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
http.Open "GET", sURL, False
http.send
Debug.Print http.responseText
End Sub