簡體   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