22

Ich versuche mit Google Scripts UrlFetchApp auf eine Website mit einem grundlegenden Benutzernamen und einem Passwort zugreifen. Sobald ich eine Verbindung zur Site herstelle, erscheint ein Popup, das eine Authentifizierung erfordert. Ich kenne das Login und Passwort, aber ich weiß nicht, wie ich sie innerhalb der UrlFetchApp übergeben soll.Wie wird UrlFetchApp mit Anmeldeinformationen verwendet? Google Scripts

var antwort = UrlFetchApp.fetch ("htp: //00.000.000.000: 0000 /");
Logger.log (response.getContentText ("UTF-8"));

Derzeit läuft dieser Code zurück "Zugriff verweigert". Der obige Code enthält nicht die tatsächliche Adresse, mit der ich mich aus Sicherheitsgründen verbinde. Ein "t" fehlt bei allen "http" in den Codebeispielen, da sie als Links erkannt werden und Stackoverflow es mir nicht erlaubt, mehr als zwei Links zu senden.

Wie kann ich das Login und Passwort zusammen mit meiner Anfrage weitergeben? Kann ich meine Session auch fortsetzen, wenn ich mich eingeloggt habe? Oder wird meine nächste URLFetchApp-Anfrage von einem anderen Google-Server gesendet, bei dem ich mich erneut anmelden muss?

Das hier Ziel ist es, die Website hinter Googles Netzwerk-Infrastruktur um sich einzuloggen, damit es als Proxy fungieren kann dann brauche ich eine andere UrlFetchApp Anfrage an die gleiche Adresse zu vergeben, die wie folgt aussehen würde:

var Antwort = UrlFetchApp.fetch ("htp: //00.000.000.000: 0000/vuze/rpc? json = {" Methode ":" torrent-add "," Argumente ": {" Dateiname ":" htp: // vodo. net/media/torrents/irgendwas.torrent "," download-dir ":" C: \ temp "}}");
Logger.log (response.getContentText ("UTF-8"));

Antwort

34

Diese Frage wurde auf einem anderen wo beantwortet. Hier ist die Zusammenfassung:

Bruce McPherson

basic authentication looks like this... 
    var options = {}; 
    options.headers = {"Authorization": "Basic " + Utilities.base64Encode(username + ":" + password)}; 

Lenny Cunningham

//Added Basic Authorization////////////////////////////////////////////////////////////////////////////////////////// 

    var USERNAME = PropertiesService.getScriptProperties().getProperty('username'); 
    var PASSWORD = PropertiesService.getScriptProperties().getProperty('password'); 

    var url = PropertiesService.getScriptProperties().getProperty('url');//////////////////////////Forwarded 

Ports WebRelay

var headers = { 
    "Authorization" : "Basic " + Utilities.base64Encode(USERNAME + ':' + PASSWORD) 
    }; 

    var params = { 
    "method":"GET", 
    "headers":headers 
    }; 

var reponse = UrlFetchApp.fetch(url, params); 
+4

Ich weiß, das ist ein wirklich alter Beitrag .. Aber könntest du bitte die Links zum Originalbeitrag für die Zusammenfassungen angeben? – pravin

3

Ich war nicht in der Lage user3586062 ‚s Quelle Links zu finden (sie gelöscht wurden), aber Bruce McPherson Ansatz, würde der Code wie folgt aussehen:

var options = {}; 
options.headers = {"Authorization": "Basic " + Utilities.base64Encode(username + ":" + password)}; 
UrlFetchApp.fetch("TARGET URL GOES HERE", options);