wake-up-neo.net

Wie man POST eine JSON zu einer bestimmten URL mit VB.NET?

Ich bin ein Neuling über Webservices in VB.NET. Ich mache eine Desktop-Anwendung, die mit JIRA (http://www.atlassian.com/software/jira/) spricht. Sie lieferten eine REST - API, die ich verwenden wollte. Der erste Schritt besteht darin, sich einzuloggen und sagen, dass ...

"Um sich bei JIRA anzumelden, müssen Sie einen Benutzernamen und ein Passwort im JSON-Format POST ..."

{"Benutzername": "Admin", "Passwort": "Admin"}

zu dieser URL ...

https: // addressgoeshere (wir verwenden https)

Kann mir jemand einen Beispielcode zur Verfügung stellen, damit ich eine Anleitung und einen guten Start haben kann? Bitte und vielen Dank!

19
max

hier ist der Code, um Json effektiv zu posten. Die Variable res kann Ihnen die Antwort auf Ihre Anfrage geben

denken Sie daran zu importieren

  • System.Net
  • System.IO
  • System.text

durch die Nutzung

Imports

und dann die Importnamen

so umgehen Sie das abgelaufene SSL-Zertifikat: http://blog.jameshiggs.com/2008/05/01/c-how-to-accept-an-invalid-ssl-certificate-programmatic/

Private Function SendRequest(uri As Uri, jsonDataBytes As Byte(),contentType As String, method As String) As String
Dim req As WebRequest = WebRequest.Create(uri)
req.ContentType = contentType
req.Method = method
req.ContentLength = jsonDataBytes.Length


Dim stream = req.GetRequestStream()
stream.Write(jsonDataBytes, 0, jsonDataBytes.Length)
stream.Close()

Dim response = req.GetResponse().GetResponseStream()

Dim reader As New StreamReader(response)
Dim res = reader.ReadToEnd()
reader.Close()
response.Close()

Return res
End Function

um diese Funktion zu nutzen

Dim data = Encoding.UTF8.GetBytes(jsonSring)
Dim result_post = SendRequest(uri, data, "application/json", "POST")
30
Parvesh

Für "Die zugrunde liegende Verbindung wurde geschlossen:" Fehler enthalten diese beiden Codezeilen, nachdem die Zeile ...WebRequest.Create(Url) -it funktionieren sollte 

System.Net.ServicePointManager.UseNagleAlgorithm = FalseSystem.Net.ServicePointManager.Expect100Continue = False

1
ChrisBaris