您好以下cURL命令,我想轉換爲VB.NET或C#。轉換cURL命令爲.NET
curl https://api.box.com/2.0/users \-H "Authorization: Bearer ACCESS_TOKEN" \ -d '{"login": "[email protected]", "name": "Ned Stark"}' \ -X POST
我試圖在VB.NET如下:
Dim url As String = "https://api.box.com/2.0/users"
Dim wrq = CType(Net.WebRequest.Create(url), HttpWebRequest)
Dim postString As String = "[email protected]&name=Ned Stark"
wrq.Headers.Add("Authorization: Bearer " & o2ses.AccessToken)
wrq.Method = "POST"
wrq.ContentType = "application/x-www-form-urlencoded"
wrq.ContentLength = postString.Length
Dim wrqWriter As New StreamWriter(wrq.GetRequestStream())
wrqWriter.Write(postString)
wrqWriter.Close()
Dim responseReader As New StreamReader(wrq.GetResponse().GetResponseStream())
Dim responseData As String = responseReader.ReadToEnd()
我捲曲對於新手,並在.NET中使用HttpWebRequest的,但轉化捲曲命令之前,.NET(感謝到這個網站:)),但沒有在他們的-d選項,所以我有點失落。當執行下面的行時,它會一直返回錯誤400(錯誤的請求)。
Dim responseReader As New StreamReader(wrq.GetResponse().GetResponseStream())
我覺得它有什麼數據我送(即它沒有得到適當的「登錄」和「名」參數需要)來完成。
任何幫助表示讚賞。如果需要,我可以嘗試提供更多信息。如前所述,我是一個新手,所以我會盡我所能。
謝謝!
你的後弦應該URL編碼(見HttpUtility.UrlEncode()或這裏的比如http:/ /stackoverflow.com/a/14703032/99256)。 –
感謝您的回覆和鏈接。我修改了代碼,將'poststring'定義爲stringbuilder並附加了urlencoded數據,但我仍然從Web服務中收到'錯誤的請求(400)'。 – user1146024