2013-10-31 79 views

回答

1

解決方案是使用自定義connection pool,爲此,您需要使用自定義Agent


下面是一個使用標準https模塊爲例,直from the documentation

var options = { 
    hostname: 'encrypted.google.com', 
    port: 443, 
    path: '/', 
    method: 'GET', 
    key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), 
    cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem') 
}; 
options.agent = new https.Agent(options); 

var req = https.request(options, function(res) { 
    ... 
} 

如果您使用mikeal's request,您可以設置在pool選項自定義代理。

+0

爲什麼我需要使用自定義代理和連接池? – micc0

+0

代理管理套接字池並用於管理一次進程可以一次打開的套接字的最大數量默認情況下,所有HTTPS請求均使用https.globalAgent。 如[詳細](http://nodejs.org/api/https.html#https_https_request_options_callback)所示,您可以將自己的證書信息提供給任何請求...但如果您使用全局代理,則這些選項將被忽略。您將需要使用自定義代理。 –

+0

這聽起來很有趣,但真的可以使用代碼示例。 –