1

我很难查看 Node js 应用程序和 API 之间交换的信息。

开发人员正在使用请求模块。查看自述文件有一个名为“代理”的选项:

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 代理(Charles 或 Fiddler)中看不到任何信息

我正在使用的选项是:

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'
  };
};

我尝试过其他调试流量的方法(隧道代理、代理链),但这些似乎都导致了 CONNECT 方法而不是 GET 或 POST。

如果有人有任何使用代理选项的经验,或者如果我从根本上误解了代理选项的实现或使用,请告诉我。

谢谢

4

1 回答 1

1

使用“网址”而不是“主机”。我从内联注释中假设,它是 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'
  };
};

来自文档:uri || url - 完全限定的 uri 或解析的 url 对象

于 2014-02-17T16:23:38.307 回答