V
B.netで、
PUTを行う方法。
意外と書いてあるサイトが少なかったので、
備忘録として残します。
POSTの時とやり方は、同じです。
PUTの方法
こんな感じで、出来ます。
ステータスコードの取得などは、
webRequestでは取得できません。
その為、HttpWebRequestにキャストしてます。
※大分間違っていた為、修正!
'POST送信する値を設定 Dim postData As String = @送りたいデータ 'バイト型配列に変換 Dim postDataBytes As Byte() = _ System.Text.Encoding.ASCII.GetBytes(postData) 'HttpWebRequestの作成 'CastしないとStatusCodeとかが取得できない。間違ってるかも Dim req As System.Net.HttpWebRequest = _ DirecrCastt(System.net.HttpWebRequest.Create("@PUTしたいURL"),System.Net.HttpWebRequest) 'メソッドにPUTを指定 req.Method = "PUT" 'ContentTypeを設定 req.ContentType = "application/x-www-form-urlencoded" 'POST送信するデータの長さを指定 req.ContentLength = postDataBytes.Length 'データをPUT送信するためのStreamを取得 Dim reqStream As System.IO.Stream = req.GetRequestStream() '送信するデータを書き込む。 reqStream.Write(postDataBytes, 0, postDataBytes.Length) reqStream.Close() 'サーバーからの応答を受信するためのWebResponseを取得 Dim res As System.Net.HttpWebResponse = DirectCast(req.GetResponse(),System.Net.HttpWebResponse) 'ステータスコード取得 res.StatusCode '応答データを受信するためのStreamを取得。レスポンスの値を取得できる。 Dim resStream As System.IO.Stream = res.GetResponseStream() '受信して表示 Dim sr As New System.IO.StreamReader(resStream) Console.WriteLine(sr.ReadToEnd()) '閉じる sr.Close()
エラー処理
こんな感じだったと思います。
Likecatch ex As WebException
'サーバーからの応答を受信するためのWebResponseを取得 Dim errorRes As System.Net.HttpWebResponse = DirectCast(ex.GetResponse,System.Net.HttpWebRespone) '中身の表示は、上のStreamを使ったのと同じ要領です!