■82437 / inTopicNo.1) |
Digest認証でのRequest Bodyが空になる |
□投稿者/ じゃがりこサラダ (1回)-(2017/01/10(Tue) 18:29:05)
|
分類:[VB.NET/VB2005 以降]
現在Windows10Mobileを利用したアプリを開発中です。 Windows10MobileアプリではHttpClientクラスを利用する必要があると認識しており、 環境の構成上、Digest認証後にPOSTリクエストを送信する必要があります。
いくらかプログラムしてみましたがエラーとなっています。 HTTPの内容を確認したところHTTPヘッダの「Content-Length」は正しく設定されていますが、 肝心のHTTPボディにPOSTパラメータが設定されていません。
以下にサンプルコードを記載させていただきますが、何か不備等はございませんでしょうか。 お分かりになる範囲でご教授いただければ幸いです。
Imports System.Net Imports System.Net.Http
Public Class Class1 Public Async Function registOrderInfo() As Task(Of String)
Dim url As Uri = New Uri("http://test.com/test/testGet.cgi") Dim sysHandler As HttpClientHandler = New HttpClientHandler() sysHandler.Credentials = New NetworkCredential("testuser", "testpass") 'Digest認証用アカウント Dim client As HttpClient = New HttpClient(sysHandler)
Try Dim param As List(Of KeyValuePair(Of String, String)) = New List(Of KeyValuePair(Of String, String)) param.Add(New KeyValuePair(Of String, String)("test1", "aaa")) param.Add(New KeyValuePair(Of String, String)("test2", "bbb"))
Dim content As HttpContent = New FormUrlEncodedContent(param) Dim response As HttpResponseMessage = Await client.PostAsync(url, content)
Dim statusCode As HttpResponseMessage = response.EnsureSuccessStatusCode() Dim message As String = Await response.Content.ReadAsStringAsync() Catch ex As Exception httpResponseBody = "Error: " + ex.HResult.ToString("X") + " Message: " + ex.Message End Try
Return "" End Function
End Class
|
|