小编Ayu*_*oel的帖子

使用节点 http 代理转发 http 代理

我正在使用 node-http-proxy 库来创建转发代理服务器。我最终计划使用一些中间件来动态修改 html 代码。这是我的代理服务器代码的样子

var  httpProxy = require('http-proxy')
httpProxy.createServer(function(req, res, proxy) {
  var urlObj = url.parse(req.url);
  console.log("actually proxying requests")
  req.headers.host  = urlObj.host;
  req.url           = urlObj.path;

  proxy.proxyRequest(req, res, {
    host    : urlObj.host,
    port    : 80,
    enable  : { xforward: true }
  });
}).listen(9000, function () {
  console.log("Waiting for requests...");
});
Run Code Online (Sandbox Code Playgroud)

现在我修改 chrome 的代理设置,并启用 web 代理服务器地址为 localhost:9000

但是,每次我访问一个普通的 http 网站时,我的服务器都会崩溃说 "Error: Must provide a proper URL as target"

我是 nodejs 的新手,我不完全明白我在这里做错了什么?

proxy http-proxy node.js web

1
推荐指数
1
解决办法
3912
查看次数

为什么不是连续数组条目的地址,也是连续的?

我跑的时候

char * a = "string";
char * b = a;
while (*a != '\0')
    printf("%p %c\n", *(a), *(a++));
printf("%p\n", *(b+2));
Run Code Online (Sandbox Code Playgroud)

输出看起来像

0x73 s
0x74 t
0x72 r
0x69 i
0x6e n
0x67 g
0x72
Run Code Online (Sandbox Code Playgroud)

此外,程序如何确定(b + 2)位于0x72.我认为它只会将2添加到b的起始地址,在本例中为0x73.

编辑:这不是未指定行为的情况.正如答案中所解释的那样,我错误地将值传递给地址格式说明符而不是指针本身.

c arrays pointers pointer-arithmetic

0
推荐指数
1
解决办法
89
查看次数

标签 统计

arrays ×1

c ×1

http-proxy ×1

node.js ×1

pointer-arithmetic ×1

pointers ×1

proxy ×1

web ×1