C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 141 を表示中)
■82437 / )  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


返信 編集キー/


管理者用

- Child Tree -