Buongiorno.
Scrivo perché ho un problema e proprio non capisco cosa sia successo.
Con una routine in un DB, tramite un url accedo a un sito tramite "MSXML2.serverXMLHTTP" e prelevo il testo per poi estrarre dei dati.
Questa la routine:
Sub XMLHTTP_ric(ricercaweb)
Dim url, sHTM As String
Dim html As Object, objResultDiv As Object, objH3 As Object, Link As Object, Gruppo_ogg As Object
'Dim Gruppo_ogg As MSHTML.IHTMLElementCollection
Dim errore As Boolean
'
On Error GoTo Get_ERR
'*** definisce la URL di ricerca x Google ***
'
errore = False
url = "https://www.google.co.in/search?q=" & ricercaweb
'--- Mozilla Firefox
'crea l'oggetto XLM e manda la richiesta
Set XMLHTTP = CreateObject("MSXML2.serverXMLHTTP")
XMLHTTP.Open "GET", url, False
XMLHTTP.setRequestHeader "Content-Type", "text/xml"
XMLHTTP.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/25.0"
XMLHTTP.send
If errore Then
'--- creazione oggetto con Internet Explorer
With CreateObject("msxml2.xmlhttp")
.Open "GET", url, False
.send
sHTM = .responseText
End With
End If
'--- crea l'oggetto di ricezione dati
Set html = CreateObject("htmlfile")
If Not errore Then
html.body.innerHTML = XMLHTTP.responseText
Else
html.body.innerHTML = sHTM
End If
[...]
Fino a una settimana fa funzionava tutto benissimo.
Poi, per vari motivi che non sono qui rilevanti, ho re-installato Mozzilla, e da allora succedono cose strane.
Quando si arriva all'istruzione html.body.innerHTML = XMLHTTP.responseText, si apre una pagina blank in IE invece di eseguirsi l'assegnazione alla variabile html.
Ho provato a escludere IE, ma quando arriva all'istruzione suddetta mi dice che "non è disponibile alcun programma associato per l'esecuzione dell'azione richiesta". Eppure, prima eseguiva tranquillamente in Mozzilla. E l'user-Agent non prevede alcun programma associato, o no?!
Qualche dettaglio:
- Un url di esempio: "https://www.google.co.in/search?q="www.dvd-store.it+Notting Hill"
- La variabile XMLHTTPè dichiarata public object.
- Utilizzo Windows 7 professional.
- Mozzilla è impostato come brower predefinito.
Ho provato anche ad aggiornare l'user-agent come specificato nella versione di Mozzilla così:
XMLHTTP.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:84.0) Gecko/20100101 Firefox/84.0"
ma l'errore rimane intatto.
Qualcuno ha idea di cosa possa essere successo?
Aggiungo che il medesimo DB funziona correttamente su un altro computer (da un amico).
Potrebbero essere questioni di sicurezza?
Non so dove sbattere la testa...