Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript node.js中的HTTP请求将response.statuscode返回为禁止_Javascript_Node.js_Http_Request_Header - Fatal编程技术网

Javascript node.js中的HTTP请求将response.statuscode返回为禁止

Javascript node.js中的HTTP请求将response.statuscode返回为禁止,javascript,node.js,http,request,header,Javascript,Node.js,Http,Request,Header,我想通过node.js在第三部分网站中发布数据,但我得到了错误403。 我在浏览器中有以下代码: $.ajax("/login",{ /// here i am in https://255.255.255 /// I am obscuring the real host ip data:{ username:"username", password: "password", autologin:"true"}, method:"POST" }).done(fu

我想通过node.js第三部分网站中发布数据,但我得到了错误403。 我在浏览器中有以下代码:

$.ajax("/login",{ /// here i am in https://255.255.255 /// I am obscuring the real host ip

 data:{
   username:"username",
    password: "password",
     autologin:"true"},

 method:"POST"

}).done(function(msg) {
      console.log( msg );
       /// another $.ajax request here
    }); 
它很好用。当我尝试在node.js中使用它时,问题开始了,在SO用户的帮助下,我得到了以下代码:

var request = require('request');

request({
    method: "POST",
    baseUrl: "https://255.255.255",
    uri: "/login",
    form: {
      username: "username",
      password: "password",
      autologin: "true"
    }
  },
  function (error, httpResponse, body) {
    if (error) {
      console.error(error);
    }
    console.log(httpResponse.statusCode);
    console.log(body);
  });
这里我得到了httpResponse.statusCode作为
403
-禁止。 我没有预料到这一点,因为我的
$.ajax
代码可以工作,并且不会返回此错误

到目前为止,我所尝试的:

  • 将用户代理设置为“node.js”、“request”、“Mozilla/5.0”
  • 使用axios(也得到错误403)
  • 使用请求承诺
我还想知道:

  • 如何查看这两个代码的运行,以了解它们之间的区别
  • 更多的用户代理,我要用哪一个来模拟浏览器
  • 如果有更好的npm包在第三方网站上发布数据

提前感谢。

jQuery代码是以明文形式发送用户名和密码,还是使用授权?您可以在发出请求时在浏览器控制台中进行检查。通常,用户/密码作为授权头发送,您将在请求头中看到类似“Authorization:Basic”的内容


如果是这样,您还需要在节点中复制它。您可以查看更多有关如何执行的信息—这非常简单。

也许可以查看失败HTTP请求的响应体。可能有错误消息。没有我无法检查的错误,当在浏览器中使用ajax时,我在控制台中得到的全部信息是:`{success:true,redirectTo:”“}`谢谢。你的评论实际上很有用。我转到控制台中的“网络”选项卡,然后看到了我的.ajax请求,发现返回403的是他们的内容安全策略。可悲的是,我投了反对票,现在我被禁止提出这样的问题。你能给我推荐一个npm软件包,我可以模拟我的请求的来源吗?