PostRequestParseXml
Imports System.IO
Imports System.Web
Imports System.Text
Imports System.Xml
Public Class frmMain
Private Function getNormailzedString(ByVal s As String) As String
Dim requestUrl As String = "http://localhost:8080/hello/outxml.jsp"
Dim postData As String = "s=" + System.Uri.EscapeUriString(s)
Dim postDataBytes As Byte() = System.Text.Encoding.ASCII.GetBytes(postData)
'HttpWebRequestの作成
Dim request As System.Net.HttpWebRequest = CType(System.Net.WebRequest.Create(requestUrl), System.Net.HttpWebRequest)
request.Method = "POST"
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = postDataBytes.Length
'データをPOST送信するためのStreamを取得
Dim reqStream As System.IO.Stream = request.GetRequestStream()
'送信するデータを書き込む
reqStream.Write(postDataBytes, 0, postDataBytes.Length)
'送信完了
reqStream.Close()
'受信開始
Dim response As System.Net.HttpWebResponse = Nothing
Dim responseStreamReader As StreamReader
Dim output As StringBuilder = New StringBuilder()
Try
response = CType(request.GetResponse(), System.Net.HttpWebResponse)
'応答ステータスコードを表示する
Debug.Print("statuscode=" & response.StatusCode)
'StreamReaderを取得
responseStreamReader = New StreamReader(response.GetResponseStream())
Dim xmlString As String
'すべて読み込む
xmlString = responseStreamReader.ReadToEnd()
Debug.Print(xmlString)
Using xmlreader As XmlReader = xmlreader.Create(New StringReader(xmlString))
xmlreader.ReadToFollowing("test")
' xmlreader.MoveToFirstAttribute()
' Dim value As String = xmlreader.Value
xmlreader.MoveToContent()
Dim value As String = xmlreader.ReadElementContentAsString
output.AppendLine(value)
Debug.Print(value)
End Using
Catch webException As System.Net.WebException
' エラー処理
' ...
' エラー処理
Finally
'閉じる
If Not (response Is Nothing) Then
response.Close()
End If
End Try
getNormailzedString = output.ToString
End Function
Private Sub btnSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
Dim s1 As String
s1 = txtBox1.Text
txtBox2.Text = getNormailzedString(s1)
End Sub
End Class