22

Tôi đang cố gắng sử dụng Google Scripts UrlFetchApp để truy cập trang web có tên người dùng và mật khẩu cơ bản. Ngay sau khi tôi kết nối với trang web, cửa sổ bật lên xuất hiện yêu cầu xác thực. Tôi biết Đăng nhập và Mật khẩu, tuy nhiên tôi không biết cách chuyển chúng trong UrlFetchApp.Cách sử dụng UrlFetchApp bằng thông tin xác thực? Google Scripts

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

Hiện tại đang chạy mã trả về "Truy cập bị từ chối". Đoạn mã trên không chứa địa chỉ thực mà tôi đang kết nối vì lý do bảo mật. Thiếu "t" từ tất cả "http" trong các ví dụ mã vì chúng đang được phát hiện dưới dạng liên kết và Stackoverflow không cho phép tôi gửi nhiều hơn hai liên kết.

Tôi làm cách nào để chuyển Mật khẩu và Đăng nhập cùng với yêu cầu của mình? Ngoài ra là có anyway tôi có thể tiếp tục phiên của tôi một khi tôi đã đăng nhập? Hoặc yêu cầu UrlFetchApp tiếp theo của tôi có được gửi từ một máy chủ Google khác yêu cầu tôi đăng nhập lại không?

Mục tiêu ở đây là để đăng nhập vào trang web đằng sau cơ sở hạ tầng mạng Googles để nó có thể hoạt động như một proxy sau đó tôi cần phải phát hành một yêu cầu khác UrlFetchApp đến địa chỉ tương tự mà sẽ giống như thế này:

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

Trả lời

34

Câu hỏi này đã được trả lời ở một nơi khác. Dưới đây là tóm tắt:

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 

Chuyển qua WebRelay

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

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

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

Tôi biết đây là một thực sự cũ bài .. Nhưng bạn có thể vui lòng cung cấp các liên kết đến bài gốc cho các bản tóm tắt? – pravin

3

tôi đã không thể tìm thấy user3586062 liên kết nguồn 's (họ có thể đã bị xóa), nhưng dùng phương pháp Bruce Mcpherson của, mã của bạn sẽ trông như thế này:

var options = {}; 
options.headers = {"Authorization": "Basic " + Utilities.base64Encode(username + ":" + password)}; 
UrlFetchApp.fetch("TARGET URL GOES HERE", options); 
Các vấn đề liên quan