2014-02-17 123 views
1

我很難查看Node js應用程序和API之間交換的信息。Nodejs請求「代理」選項不是通過定義的主機路由請求

開發人員使用request模塊。縱觀自述有一個名爲「代理」選項:

proxy - An HTTP proxy to be used. Supports proxy Auth with Basic Auth, identical to support for the url parameter (by embedding the auth info in the uri) 

然而,當我在代理添加作爲一個選項,似乎同時請求傳遞給我看任何信息的服務器中,因爲拋棄我HTTP代理(查爾斯或小提琴手)

我使用的選項有:

exports.defaultOptions = function(){ 
    return { 
    host: config.apiHost, // API url to connect too 
    headers: { 'Content-Type': 'application/json' }, 
    method: 'POST', // Default method 
    port: config.apiPort, // API port number to connect too 
    proxy: 'http://192.168.2.183:8888' 
    }; 
}; 

我試圖調試交通的其他方法(隧道代理,proxychains),但這些似乎都導致CONNECT方法而不是GET或POST。

如果任何人有使用代理選項的經驗,或者確實如果我從根本上誤解了代理選項的實現或使用,請告訴我。

謝謝

回答

1

使用'url'而不是'host'。我從內聯評論中假設,它是api端點的完整url。

exports.defaultOptions = function(){ 
    return { 
    url: config.apiHost, // API url to connect too 
    headers: { 'Content-Type': 'application/json' }, 
    method: 'POST', // Default method 
    port: config.apiPort, // API port number to connect too 
    proxy: 'http://192.168.2.183:8888' 
    }; 
}; 

docs: URI || url - 來自

的完全限定的uri或解析的url對象