我如何通过node.js http.Client使用和授权http代理

香脆鸡

我正在通过代理发送一个http请求,需要在我的请求中添加用户名和密码。如何正确将这些值添加到我的选项块?

这是我的代码:

var http = require('http');

var options = {
  port: 8080,
  host: 'my.proxy.net',
  path: '/index',
  headers: {
   Host: "http://example.com"
  }
};


http.get(options, function(res) {
  console.log("StatusCode: " + res.statusCode + " Message: " + res.statusMessage);
});

当前的响应是StatusCode:307,消息:Authentication Required

我试图将用户名和密码添加到我的选项中,但是它不起作用:

var options = {
    port: 8080,
    host: 'my.proxy.net',
    username: 'myusername',
    password: 'mypassword',
    path: '/index',
    headers: {
       Host: "http://example.com"
    }
};

附加信息:我没有太多有关代理的信息,但在另一种情况下,此身份验证方法有效:

npm config set proxy http://username:[email protected]:8080
马丁·E·祖利格

好的,这适用于我的本地鱿鱼:

var http = require('http');

function buildAuthHeader(user, pass) {
    return 'Basic ' + new Buffer(user + ':' + pass).toString('base64');
}

proxy = 'localhost';
proxy_port = 3128;
host = 'www.example.com';
url = 'http://www.example.com/index.html';
user = 'potato';
pass = 'potato';

var options = {
    port: proxy_port,
    host: proxy,
    path: url,
    headers: {
        Host: host,
       'Proxy-Authorization': buildAuthHeader(user, pass),
    }
};

http.get(options, function(res) {
  console.log("StatusCode: " + res.statusCode + " Message: " + res.statusMessage);
});

夫妻注意事项:

  1. 完整的URL必须包含在GET行中,而不仅仅是路径,因此它不是/index.html而是http://example.com/index.html
  2. 您还应该在主机头中包含主机,因此您必须正确解析URL。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node JS TCP代理:使用Node JS设置HTTP隧道

来自分类Dev

Node JS TCP代理:使用Node JS设置HTTP隧道

来自分类Dev

在Node JS中,如何创建端点传递?我正在使用express和http

来自分类Dev

在Node JS中,如何创建端点传递?我正在使用express和http

来自分类Dev

Node.js-我将如何转发HTTP流量(反向代理)?

来自分类Dev

如何使用js获取HTTP用户代理标头?

来自分类Dev

node.js http代理重定向

来自分类Dev

如何使用node.js和http下载文件?

来自分类Dev

我如何获取我在node.js http请求中实际发送的http请求标头

来自分类Dev

如何检测 Node.js 中 HTTP 代理的存在?

来自分类Dev

我应该如何在 node js 中使用 db + http 调用的承诺

来自分类Dev

我如何获取我实际上在node.js http请求中发送的http请求标头

来自分类Dev

node.js http模块http.createServer如何工作?

来自分类Dev

如何在 node.js 中通过 HTTP 发送原始二进制数据?

来自分类Dev

使用HTTPS和HTTP Express(node.js)

来自分类Dev

如何在HTTP和HTTPS代理后面使用OpenVPN?

来自分类Dev

通过使用Angular JS的代理服务器的HTTP请求

来自分类Dev

HTTP代理(Node.js)未执行正确的SSL验证

来自分类Dev

Node.js HTTP.get()添加用户代理

来自分类Dev

Node.js通过选项(http或https)直接请求URL

来自分类Dev

如何使用Express关闭Node.js中的HTTP连接

来自分类Dev

如何使用Node.js AWS Lambda发送HTTP请求?

来自分类Dev

如何使用node.js发送HTTP / 2.0请求

来自分类Dev

如何使用http post Node.js下载文件

来自分类Dev

通过node.js http服务器使js和其他文件可用于html

来自分类Dev

如何在代理下的节点js中发送HTTP请求

来自分类Dev

如何使用node.js和Request包禁用HTTP标头中的“ withcredentials”?

来自分类Dev

如何通过JS获取HTTP-Referer。jQuery的?

来自分类Dev

如何通过HTTP获取.js文件并提取“导出”变量?

Related 相关文章

  1. 1

    Node JS TCP代理:使用Node JS设置HTTP隧道

  2. 2

    Node JS TCP代理:使用Node JS设置HTTP隧道

  3. 3

    在Node JS中,如何创建端点传递?我正在使用express和http

  4. 4

    在Node JS中,如何创建端点传递?我正在使用express和http

  5. 5

    Node.js-我将如何转发HTTP流量(反向代理)?

  6. 6

    如何使用js获取HTTP用户代理标头?

  7. 7

    node.js http代理重定向

  8. 8

    如何使用node.js和http下载文件?

  9. 9

    我如何获取我在node.js http请求中实际发送的http请求标头

  10. 10

    如何检测 Node.js 中 HTTP 代理的存在?

  11. 11

    我应该如何在 node js 中使用 db + http 调用的承诺

  12. 12

    我如何获取我实际上在node.js http请求中发送的http请求标头

  13. 13

    node.js http模块http.createServer如何工作?

  14. 14

    如何在 node.js 中通过 HTTP 发送原始二进制数据?

  15. 15

    使用HTTPS和HTTP Express(node.js)

  16. 16

    如何在HTTP和HTTPS代理后面使用OpenVPN?

  17. 17

    通过使用Angular JS的代理服务器的HTTP请求

  18. 18

    HTTP代理(Node.js)未执行正确的SSL验证

  19. 19

    Node.js HTTP.get()添加用户代理

  20. 20

    Node.js通过选项(http或https)直接请求URL

  21. 21

    如何使用Express关闭Node.js中的HTTP连接

  22. 22

    如何使用Node.js AWS Lambda发送HTTP请求?

  23. 23

    如何使用node.js发送HTTP / 2.0请求

  24. 24

    如何使用http post Node.js下载文件

  25. 25

    通过node.js http服务器使js和其他文件可用于html

  26. 26

    如何在代理下的节点js中发送HTTP请求

  27. 27

    如何使用node.js和Request包禁用HTTP标头中的“ withcredentials”?

  28. 28

    如何通过JS获取HTTP-Referer。jQuery的?

  29. 29

    如何通过HTTP获取.js文件并提取“导出”变量?

热门标签

归档