2013-04-15 139 views
0

我試圖unseccessfully到下一個標頭中發送到Twitter API發送HTTP POST請求:使用Web客戶端

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:我讀了文檔。

回答

1

除非您處理多部分數據,否則不會太多。只需建立一個帶有發佈數據的字符串(如果數據需要,則使用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); 
} 
+0

我僅限於WebClient出於教育目的。 – user1341970

+0

看到http://stackoverflow.com/questions/5401501/how-to-post-data-to-specific-url-using-webclient-in-c-sharp – Yaur

+0

哦,這就是我要找的!謝謝你! – user1341970