2013-11-21 70 views
0

我想要得到的響應的HttpWebRequest的使用GET方法和內容類型的JSON .. 但我越來越Cannot send a content-body with this verb-type獲取使用JSON使用GET HTTP web請求

這裏是我的代碼:

Dim objRequest As HttpWebRequest = WebRequest.Create(url) 
Dim reqBytes As Byte() = System.Text.UTF8Encoding.UTF8.GetBytes(strPost) 
objRequest.Method = "GET" 
objRequest.Timeout = "15000" 
objRequest.ContentLength = reqBytes.Length 
objRequest.ContentType = "application/json; charset=utf-8" 

Try 
    myWriter = objRequest.GetRequestStream() 
    myWriter.Write(reqBytes, 0, reqBytes.Length) 

Catch e As Exception 
    writetotext(e.toString) 
End Try 

我錯過了什麼嗎?

回答

3

HTTP GET不能有消息體。數據通常通過URI路徑和查詢字符串傳遞,而不是通過GET請求的消息正文傳遞。對於POST,PUT等,你應該可以在上面的代碼中做你想做的事情。

+0

好吧,所以我刪除了這個'objRequest.ContentType =「application/json; charset = utf-8」'但我需要得到請求的響應,因爲json有什麼我必須添加的? – User7291

+0

嘗試'objRequest.Accept =「application \ json」'。但主要問題是您無法寫入請求流。 GET不能有消息體。您使用'strPost'形式的有效載荷既可以使用「POST」方法發送,也可以以查詢字符串的形式傳入。 – Badri