È possibile modificare la stringa user-agent utilizzata con le richieste di Google Apps Script UrlFetchApp.fetch
?UrlFetch con stringa user-agent personalizzata?
This discussion dal 2010 insinua che il modulo UrlFetch in Google Apps Script supporta l'aggiunta l'intestazione User-Agent
alla raccolta opzionale headers
, come il modulo UrlFetch di Google App Engine fa. Tuttavia, the GAS documentation non dice nulla a riguardo. Anche uno script di test che ho realizzato mostra che non funziona.
script di test:
function testUserAgentString(){
var page;
try {
page = UrlFetchApp.fetch('http://www.myuseragent.net/', {headers: {"User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"}}).getContentText();
Logger.log(page);
} catch(_) {}
}
uscita Log (meno irrilevante HTML) era:
Mozilla/5.0 (compatible; GoogleDocs; script; +http://docs.google.com)
che è la stringa user-agent predefinito utilizzato quando si fa richieste UrlFetch da GAS.
Mi manca qualcosa o faccio qualcosa di sbagliato?
Modifica: Dato che al momento non è possibile, ho inserito un miglioramento request sul Rilevatore di problemi, secondo il suggerimento di Arun.
Non ti manca nulla - Apps Script utilizza la propria intestazione user-agent per le richieste in uscita. C'è qualche motivo per cambiarlo? –
Sì. Vari siti Web cambiano il loro contenuto e layout in base alla stringa user-agent utilizzata. Un sito Web che voglio recuperare, fornisce video HTML5 quando richiesto con una stringa utente-agente di Safari IOS e un video player SilverLight proprietario quando viene utilizzata la stringa GAS UA predefinita. –