Я знаю, что vb6 старый, но я могу быстро делать то, что мне нужно, с данными xml в vb6, вместо того, чтобы изучать новый язык. Я просто не могу заставить его успешно извлекать необходимые веб-сайты REST API.
В VB6 я добавил ссылку на Microsoft XML 3 - 6, чтобы попытаться понять, имеет ли это значение, но это не так.
Мой код действительно прост:
Dim sUrl As String
Dim xmlhttp As MSXML2.ServerXMLHTTP60
Set xmlhttp = New MSXML2.ServerXMLHTTP60
sUrl = "<url>"
xmlhttp.Open "GET", sUrl, False
xmlhttp.setRequestHeader "Content-Type", "application/xml"
xmlhttp.send ""
If xmlhttp.Status = 200 Then
Debug.Print xmlhttp.responseText
End If
Set xmlhttp = Nothing
Я попытался изменить ссылку на объект на MSXML2.xmlhttp, XMLHTTP60 и MSXML2.ServerXMLHTTP, но все равно без разницы.
Каждый раз, когда они говорят либо Системная ошибка -2146697208, либо доступ запрещен.
Если я помещу URL-адрес в веб-браузер и просмотрю исходный код, я увижу xml-текст, который мне нужен.
Я даже пытался запустить все это через веб-страницу Classic ASP (я более знаком с этой технологией), и я до сих пор не могу получить эти данные.
Кто-нибудь знает, что является окончательным кодом для простого подключения к сайту REST API и преобразования его в текстовый объект XML?
Спасибо
ОБНОВЛЕНИЕ 23-01-19
Привет всем
Следуя комментариям Питера, я пытался сделать это на моей доверенной машине с Win XP SP3, и у нее не было бы этого. Я только что попробовал следующее на локальном классическом сайте ASP на компьютере с Win 10 Pro, и оно работает:
URL = "<the url>"
Set oXMLHTTP = Server.CreateObject("MSXML2.XMLHTTP.6.0")
oXMLHTTP.open "GET", URL, false
oXMLHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oXMLHTTP.send
IF oXMLHTTP.Status = 200 THEN
Response.Write oXMLHTTP.ResponseText & "<BR>"
ELSE
Response.Write "Error"
END IF
Если я запускаю эту точную процедуру на классическом ASP IIS на моей машине с Win XP, в строке «Set oXMLHTTP = Server.CreateObject (« MSXML2.XMLHTTP.6.0 »)» указывается недопустимая строка класса. Если я изменю его с «6» на «5», он сможет увидеть объект, но затем он не будет работать снова.
Я так понимаю, что все это означает, что ниже v6 не работает с этими сайтами https (проблема TLS ??), поэтому мне нужно использовать v6, но доступно ли это для Win XP ??
Спасибо