首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么通过cntlm代理发送Node.js http请求会得到407状态码?

为什么通过cntlm代理发送Node.js http请求会得到407状态码?
EN

Stack Overflow用户
提问于 2021-06-12 22:27:57
回答 1查看 190关注 0票数 0

我得到这个控制台输出。我的代码非常简单。我的公司使用Squid ntlm代理,所以我使用cntlm代理使事情变得更容易。但是,我不能使用cntlm代理来制作节点应用程序。我需要帮助。

代码语言:javascript
复制
All is well!
You hit http.get
407
Proxy Authentication Required
{ server: 'squid/4.6',
  'mime-version': '1.0',
  date: 'Sat, 12 Jun 2021 14:19:33 GMT',
  'content-type': 'text/html;charset=utf-8',
  'content-length': '3490',
  'x-squid-error': 'ERR_CACHE_ACCESS_DENIED 0',
  vary: 'Accept-Language',
  'content-language': 'en',
  'x-cache': 'MISS from centry',
  'x-cache-lookup': 'NONE from centry:3128',
  via: '1.1 centry (squid/4.6)',
  connection: 'close',
  'proxy-authenticate': 'Basic realm="Cntlm for parent"' }

我的代码:

代码语言:javascript
复制
const express = require('express');
const http = require('http');
const app = express();

app.get("/get", function(req,res){

var opts = {
    host: '127.0.0.1',
    port: 3128,
    path: "http://www.google.com:80",
  };

  var req = http.get(opts, function(res) {
      
    console.log("You hit http.get");
    
    console.log(res.statusCode);
    console.log(res.statusMessage);
    console.log(res.headers);
  });

})



app.listen(3000,function(){
console.log("All is well!");
})
EN

回答 1

Stack Overflow用户

发布于 2021-06-13 04:15:14

我在12个小时后找到了解决方案!

代码语言:javascript
复制
var opts = {
        host: '127.0.0.1',
        port: 3128,
        path: "http://url.com",

       headers: {
        'Connection'       : 'keep-alive',
        }
        
      };

如果你将路径改为"http://google.com"“,你会得到301代码(永久移动),因为google.com正在以某种方式重定向。

所有的点都在

代码语言:javascript
复制
headers: {
            'Connection'       : 'keep-alive',
            }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67949773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档