簡體   English   中英

使用 Java 腳本和 C++ 使用用戶名和密碼登錄的 POST HTTP 請求

[英]POST HTTP request to login with username and password with Java script and c++

我一直在用C++開發一個應用程序,有些部分需要連接到 http 服務器,我設法發送GETHEAD請求並檢索網頁。

目前,我正在嘗試向需要登錄信息的網站發送POST請求表單,它類似於GET請求,但是,我不知道如何編寫它。

讓我們說:

POST /users/login HTTP/1.1
HOST: www.example.com
Content-Length: 50, 
username: ME
password: pass

然后接收身份驗證以檢索登錄所需的頁面,

我該如何寫我的POST請求!?

該網站使用表單身份驗證。 我的意思是有一個框可以輸入電子郵件地址和密碼,然后點擊提交。 據我所知,它是用JS編寫的。

任何幫助或方向表示贊賞。

嘗試將您的請求重寫為:

POST /users/login HTTP/1.1
HOST: www.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 25

username=ME&password=pass

我認為“25”是正確的長度。

作為練習,您可以下載允許調試的 HTTP 工具,例如 WireShark,然后登錄到沒有安全登錄系統的通用論壇,例如通常用於 phpbb 論壇的系統。

POST 是 GET、HEAD 等 HTTP 方法之一,關於 HTTP 本身的基礎知識很少。 它是一個基於文本的協議(您可以使用像 putty 這樣的 telnet 客戶端連接到服務器的端口 80,然后手動鍵入整個請求)。

第一行包含方法(GET、HEAD、POST 等)、URL 路徑和您支持的 HTTP 協議版本。 我建議使用 HTTP1.0,因為您不會在同一個連接中發送多個請求。 這更難實施。

下一組行稱為標題,每行包含一個鍵(內容類型、內容長度、主機等)和一個由“:”分隔的值。

然后發送的是請求的正文。 信息必須經過 urlencoded。 通讀http://www.w3schools.com/tags/ref_urlencode.asp

現在來解決您的問題,如果您已經知道如何執行 GET,那么假設 POST 需要以下步驟。

  1. 請求將是“POST HTTP/1.0”
  2. 至少發送這些標題

內容類型:應用程序/x-www-form-urlencoded 內容長度:

  1. 作為正文發送包含 inputname1=value1&inputname2=value2 的 urlencoded 文本
  2. 現在您應該從服務器獲取信息。

希望這可以幫助。 如果您想了解更多信息,請閱讀http://www.w3.org/Protocols/HTTP/1.0/draft-ietf-http-spec.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM