- - PR -
HttpWebResponseにおけるpostデータについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-01-03 20:13
こんばんは
HttpWebResponse関連のクラスを利用して、バッチプログラムにて 他サーバとhttp通信を行うプログラムを作成しています。 下記コードのように postStream.Write(bPostDataData, 0, bPostDataData.Length) という形でpostデータを送信していますが、 ブラウザから実行されたのと同じ形をとるにはどのような形式で バッファーデータ(下記コードの場合、bPostDataData)を組み立てればいいのでしょうか? ブラウザからの場合、nameとinputvalueが自動的にpostされるのですがそのデータ形式が よく分からないのです。 よろしくお願いします。 下記に参考までに今のソースコードを入れておきます。 Dim dataStream As Stream = Nothing Dim reader As StreamReader = Nothing Dim response As HttpWebResponse = Nothing Dim strURL As String = "http://localhost/Default.aspx" Dim enc As Encoding = Encoding.GetEncoding("Shift-JIS") Dim PostData As String = "任意のデータ" Dim bPostDataData As Byte() = Encoding.GetEncoding("Shift-JIS").GetBytes(PostData) Dim request As HttpWebRequest = CType(WebRequest.Create(strURL), HttpWebRequest) request.Credentials = CredentialCache.DefaultCredentials request.Method = "POST" request.CookieContainer = c request.ContentType = "application/x-www-form-urlencoded" request.ContentLength = bPostDataData.Length request.Headers.Add("a", "b") Dim postStream As Stream = request.GetRequestStream() postStream.Write(bPostDataData, 0, bPostDataData.Length) postStream.Close() response = CType(request.GetResponse(), HttpWebResponse) Console.WriteLine(response.StatusDescription) dataStream = response.GetResponseStream() reader = New StreamReader(dataStream, enc) Dim responseFromServer As String = reader.ReadToEnd() MessageBox.Show(responseFromServer) | ||||||||
|
投稿日時: 2007-01-04 03:18
http://www.atmarkit.co.jp/fdotnet/dotnettips/318webpost/webpost.html
ここが参考になりますか?
| ||||||||
|
投稿日時: 2007-01-05 00:03
ありがとうございました。
今は特にそのようなページはありません。 データのバッチ転送に利用する予定ですが、 Postデータを一般的な形式にすればサーバサイドのアプリは Pageのあるアプリと同じ方式でデータを取り出すことが出来るのでは? という思いからです。 ちなみに、今はpostデータはcsvデータ形式にし、 サーバサイドは何列目か?という判断で取り出しています。 | ||||||||
|
投稿日時: 2007-01-05 09:39
値は url encode しておく必要があります。
単純な名前と値の集合だけなら簡単ですが、ファイルイメージを送信する場合は話が違ってきます。 "FORM INPUT TYPE="FILE" 形式" あたりをキーワードにして検索すれば、仕様を説明しているページが見つかると思います。 ↑のキーワードで検索して見つかったページですが http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/multdisp.html に簡単な説明がありました。(ここから実装するのは無理そうですが) 一応念のためですが、Web 関係の「ちゃんとした」技術仕様が知りたい場合は w3c のサイト http://www.w3.org/ を参照してください。 [ メッセージ編集済み 編集者: 渋木宏明(ひどり) 編集日時 2007-01-05 17:33 ] |
1