如何通过代理服务器发出http请求(Google应用程序脚本/JavaScript)
我使用谷歌应用程序脚本(我们通常使用几乎原始的js,没有libs等)。 所以我需要使用代理服务器(需要动态更改ip地址) 但当我发出请求时,代理服务器会回叫 这是一个代理服务器。不响应非代理请求 通常,在google app scrip中发出http请求的方式如下:如何通过代理服务器发出http请求(Google应用程序脚本/JavaScript),javascript,http,google-apps-script,proxy,Javascript,Http,Google Apps Script,Proxy,我使用谷歌应用程序脚本(我们通常使用几乎原始的js,没有libs等)。 所以我需要使用代理服务器(需要动态更改ip地址) 但当我发出请求时,代理服务器会回叫 这是一个代理服务器。不响应非代理请求 通常,在google app scrip中发出http请求的方式如下: function make_some_request() { const url = 'https://www.google.com/'; var headers = { "Content-Type
function make_some_request() {
const url = 'https://www.google.com/';
var headers = {
"Content-Type" : "application/json; charset=utf-8",
}
var payload = []; // some data if we need post request
var options = {
"method" : "POST",
'headers' : headers,
'payload' : JSON.stringify(payload)
};
try {
var response = UrlFetchApp.fetch(url, options);
return JSON.parse(response);
} catch (error) {
log("make_some_request", "ERROR: " + error);
}
}
所以,我不明白我应该如何处理使用代理服务器的请求。我们如何以普通方式(在原始HTTP中)通过代理服务器进行调用。要使此请求成为代理请求,我应该发送哪些标头或负载
另外,据我所知,google应用程序脚本不支持其他类来发出https请求。所以我所拥有的几乎都是原始HTTP。从
UrlFetchApp.fetch(url,选项)
返回的值是类HTTPResponse。请参阅:如果需要请求的原始内容,则需要使用getContent()
方法:response.getContent()
您的示例使用POST
和urlhttps://www.google.com/
。您需要使用GET
将muteHttpExceptions
设置为true很有帮助options.muteHttpExceptions=true代码>返回非200状态代码时禁用异常。感谢您的回答。是的,我了解get/post。我的问题不是关于回应,而是关于请求。在其他语言中,有现成的模块可以发出代理请求。只需要设置一些参数。但没有这样的参数或类。因此,我想知道如何以编程方式使用代理发出代理请求,这通常意味着您需要一个套接字(不要与websocket混淆)来连接到代理。代理的类型(socks或http)决定了所使用的通信协议。描述http代理请求的外观。UrlFetchApp.fetch(url,选项)
的返回值是类HTTPResponse。请参阅:如果需要请求的原始内容,则需要使用getContent()
方法:response.getContent()
您的示例使用POST
和urlhttps://www.google.com/
。您需要使用GET
将muteHttpExceptions
设置为true很有帮助options.muteHttpExceptions=true代码>返回非200状态代码时禁用异常。感谢您的回答。是的,我了解get/post。我的问题不是关于回应,而是关于请求。在其他语言中,有现成的模块可以发出代理请求。只需要设置一些参数。但没有这样的参数或类。因此,我想知道如何以编程方式使用代理发出代理请求,这通常意味着您需要一个套接字(不要与websocket混淆)来连接到代理。代理的类型(socks或http)决定了所使用的通信协议。描述http代理请求的外观。