簡體   English   中英

使用WebClient發送HTTP POST請求

[英]Sending HTTP POST request using WebClient

我嘗試不成功地將下一個標頭發送到Twitter API:

POST /oauth2/token HTTP/1.1
Host: api.twitter.com
User-Agent: My Twitter App v1.0.23
Authorization: Basic eHZ6MWV2R ... o4OERSZHlPZw==
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Content-Length: 29
Accept-Encoding: gzip

grant_type=client_credentials

我搜索后發現有一個名為WebClient.UploadData的方法(此方法隱式將HTTP POST設置為請求方法),但我真的不知道如何使用它。

我知道如何使用Set方法更改當前標頭。 但是HTTP正文消息呢? 如何在標頭中添加一些正文?(grant_type)

PS:我看過這篇文章。

除非您要處理多部分數據,否則它的功能不多。 只需使用發布數據構建一個字符串(如果數據需要,則使用URL編碼),獲取字節,設置內容長度,然后將數據寫入請求流。

string postData = String.Format("field1=value1&field2=value2");
byte[] postBytes = System.Text.ASCIIEncoding.UTF8.GetBytes(postData);

HttpWebRequest req = HttpWebRequest.Create("http://myurl.com");
//  ... other request setup stuff
req.ContentLength = postBytes.Length;
using (var stream = req.GetRequestStream())
{
    stream.Write(postBytes, 0, postBytes.Length);
}

暫無
暫無

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

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