繁体   English   中英

使用Javascript HTTP请求登录站点?

[英]Logging Into Site Using Javascript HTTP Request?

我正在尝试使用http请求和解析登录我的nike帐户。 这是我的要求:

Parse.Cloud.httpRequest({
      method: 'POST',
      headers: {
        'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8'
      },
      url: 'https://www.nike.com/profile/login',
      params: {
          'Content-Locale' : 'en_US',
      },
      body: {
          'login' : <userId>,
          'rememberMe' : 'true',
          'password' : '<password>'
      }
    }).then(function(httpResponse) {

      //Log
      console.log(httpResponse.text);
    }, function(httpResponse) {

      //Log
      console.error('Request failed with response code ' + httpResponse.status);
});

我正在使用休息来调用我的函数,它正常工作。 唯一的问题是它不断返回403错误。 我的请求有什么问题吗?

以下是我通过浏览器登录时在Safari中找到的实际请求的所有信息(注意:我是http请求的新手)。

在此输入图像描述

更新:

上面的图像是使用Web浏览器进行的有效登录。

此外,这里是请求和响应部分的图像,以获取更多详细信息:

在此输入图像描述

我不相信你的请求结构有任何问题,如果你一直看到403 - Forbidden响应。 这意味着您的请求因跨域限制,不正确或意外的请求标头和/或欺骗您的引荐来源和来源等而被拒绝。

但是,如果不了解耐克登录服务的细节,我们只能推测。

我希望看到其他HTTP响应,如400 Bad Request406 Not Acceptable500 Timeout等,如果您的请求存在根本性错误。

要正确回答,我们需要了解有关您的请求的环境的更多详细信息。 这是本地服务器吗? 您是Nike开发人员,可以访问内部nike.com环境吗? 这个HTTP请求从哪里发起?

我建议的最好的信息是一些帮助进一步排除故障的工具:

  • Charles Proxy :监控所有传出的请求+响应
  • 邮递员 :以更纯粹的浏览器/技术不可知的方式方便地测试请求结构

我还不能发布超过2个链接,但搜索cross origin accesshttp status codes以获取有关常规HTTP请求的更多详细信息。

作为rkd sais,403是禁止的。 服务器拒绝您的请求。 我认为不是跨源限制,因为在第二个图像中,Apperars是Access-control-allowed:true 检查是否有先前的cookie设置。 看看第一个图像,如果有一个“set-cookie”并且它是值,则在标题中。 但是,为了获得更好的响应,需要有关标头的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM