VBA excel get request run-time error 70
Я пытаюсь использовать MSXML2 для того, чтобы получить код страницы. С любым сайтом, чей домен .com все получается, но домен .ru выдает Run-time error '70': Permission Denied
Сам код:
Public Sub Info()
Dim XMLReq As New MSXML2.XMLHTTP60
Dim HTMLDoc As New MSHTML.HTMLDocument
Dim url As String
Dim test As MSHTML.IHTMLElementCollection
url = "https://www.youtube.ru"
XMLReq.Open "GET", url, False
With XMLReq
.setRequestHeader "accept", "*/*"
.setRequestHeader "user-agent", "Mozilla/5.0"
.Open "GET", url, False
.send
End With
End Sub
Ответы (2 шт):
Автор решения: Akina
→ Ссылка
Public Sub Info()
Dim XMLReq As New MSXML2.ServerXMLHTTP60
Dim HTMLDoc As New MSHTML.HTMLDocument
Dim url As String
Dim test As MSHTML.IHTMLElementCollection
url = "https://www.ya.ru"
XMLReq.Open "GET", url, False
With XMLReq
.setRequestHeader "accept", "*/*"
.setRequestHeader "user-agent", "Mozilla/5.0"
.Open "GET", url, False
.send
End With
End Sub
Проблема в том, что MSXML2.XMLHTTP60 - это локальный объект, которому позарез необходимо, чтобы сайт был в числе доверенных (можно попробовать добавить в настройках Internet Explorer - не проверял). Сервер-side объект же на локальную безопасность клал.
Автор решения: Dark
→ Ссылка
Спасибо https://ru.stackoverflow.com/users/229437/akina за ответ. Решил проблему переписав
Dim XMLReq As New MSXML2.XMLHTTP60
как
Dim XMLReq As New MSXML2.ServerXMLHTTP60
(Нашел на https://stackoverflow.com/questions/22938194/xmlhttp-request-is-raising-an-access-denied-error)