web-dev-qa-db-ja.com

資格情報でUrlFetchAppを使用する方法は? Google Scripts

Google Scripts UrlFetchAppを使用して、基本的なユーザー名とパスワードでWebサイトにアクセスしようとしています。サイトに接続するとすぐに、認証を要求するポップアップが表示されます。ログインとパスワードは知っていますが、UrlFetchApp内でそれらを渡す方法はわかりません。

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

現在そのコードを実行すると、「アクセス拒否」が返されます。上記のコードには、セキュリティ上の理由から接続している実際のアドレスは含まれていません。コード例のすべての「http」から「t」が欠落しています。リンクとして検出されており、Stackoverflowでは3つ以上のリンクを送信できません。

リクエストとともにログインとパスワードを渡すにはどうすればよいですか?また、とにかくログインしたらセッションを続行できますか?または、次のUrlFetchAppリクエストが別のGoogleサーバーから送信され、再度ログインする必要がありますか?

ここでの目標は、Googleのネットワークインフラストラクチャの背後にあるWebサイトにログインしてプロキシとして機能できるようにすることです。その後、次のような同じアドレスに別のUrlFetchAppリクエストを発行する必要があります。

var response = UrlFetchApp.fetch( "htp://00.000.000.000:0000/vuze/rpc?json = {" method ":" torrent-add "、" arguments ":{" filename ":" htp:// vodo .net/media/torrents/anything.torrent "、" download-dir ":" C:\ temp "}}");
Logger.log(response.getContentText( "UTF-8"));

29
user3586062

この質問は、別の場所で回答されています。概要は次のとおりです。

ブルース・マクファーソン

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

レニーカニンガム

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

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

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

WebRelayへのポート

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

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

var reponse = UrlFetchApp.fetch(url, params);
51
user3586062

ser3586062 のソースリンクは見つかりませんでした(削除された可能性があります)が、ブルースマクファーソンのアプローチをとると、コードは次のようになります。

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