[英]Error in VB.NET JSON POST request - HTTPWEBREQUEST
我正在嘗試發布 json 請求如下。
我在最后一行收到錯誤。 最后一行顯示錯誤消息。
Dim myReq As HttpWebRequest
Dim myResp1 As HttpWebResponse
myReq = HttpWebRequest.Create("https://pro.mastersindia.co/oauth/access_token")
myReq.Method = "POST"
myReq.ContentType = "application/json"
myReq.Headers.Add("username", Service_Provider_Username)
myReq.Headers.Add("password", Service_Provider_Password)
myReq.Headers.Add("client_id", client_id)
myReq.Headers.Add("client_secret", client_secret)
myReq.Headers.Add("grant_type", "password")
Dim mystream As Stream = myReq.GetRequestStream
myResp = myReq.GetResponse ---- here i am getting an error {"The remote server returned an error: (400) Bad Request."}
如果我通過 POSTMAN 將相同的 json 發送到相同的 url,那么我會得到響應。 但是通過 vb.net 代碼,我遇到了上述錯誤。
我錯過了什么或做錯了什么嗎?
請幫忙。
謝謝
[以下在 postman 中工作,我在 vb.net 中是否遺漏了什么] [ ] 1
您的 POST 正文是空的,您應該將它們放入正文而不是標題。
有多種方法可以做到這一點,這里是一個例子。
Imports System.Net
Imports System.Text
Imports Newtonsoft.Json
Public Class JSON_Post
Public Property username As String
Public Property password As String
Public Property client_id As String
Public Property client_secret As String
Public Property grant_type As String
End Class
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim myReq As HttpWebRequest = HttpWebRequest.Create("https://pro.mastersindia.co/oauth/access_token")
myReq.Method = "POST"
myReq.ContentType = "application/json"
Dim NewData As New JSON_Post
NewData.username = "Service_Provider_Username"
NewData.password = "Service_Provider_Password"
NewData.client_id = "client_id"
NewData.client_secret = "client_secret"
NewData.grant_type = "password"
Dim PostString As String = JsonConvert.SerializeObject(NewData)
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(PostString)
myReq.ContentLength = byteArray.Length
Dim dataStream As Stream = myReq.GetRequestStream()
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close() 'sends request
Dim myResp As HttpWebResponse = myReq.GetResponse()
End Sub
你的身體看起來像:
{"username":"Service_Provider_Username","password":"Service_Provider_Password","client_id":"client_id","client_secret":"client_secret","grant_type":"password"}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.