1

我已经尝试将下一个标头发送到 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:我阅读了文档。

4

1 回答 1

2

除非您正在处理多部分数据,否则这并不多。只需使用发布数据构建一个字符串(如果数据需要,则进行 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);
}
于 2013-04-15T13:36:46.730 回答