web-dev-qa-db-ja.com

VB.NETを使用して特定のURLにJSONをPOST?

私はVB.NETのWebサービスの初心者です。 JIRA(http://www.atlassian.com/software/jira/)と通信するデスクトップアプリケーションを作成しています。彼らはREST apiを提供しました。最初のステップは、ログインすることです...

"JIRAにログインするには、POST JSON形式のユーザー名とパスワード..."が必要です

{"username": "admin"、 "password": "admin"}

このURLに...

https:// addressgoeshere(httpsを使用しています)

誰かが私にこれを行うためのサンプルコードを提供して、ガイドと良いスタートを手に入れることができますか?どうぞよろしくお願いします!

21
max

jsonを効果的に投稿するコードを次に示します。変数resは、クエリに対する応答を与えることができます

インポートすることを忘れないでください

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

を使用して

Imports

そしてインポート名

期限切れのSSL証明書をバイパスするには、これを確認してください: http://blog.jameshiggs.com/2008/05/01/c-how-to-accept-an-invalid-ssl-certificate-programmatically/

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

この機能を使用するには

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

「基礎となる接続が閉じられました:」エラーの場合、...WebRequest.Create(Url)行の後にこれらの2行のコードが含まれます。

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

1
ChrisBaris