- - PR -
MSINETを利用したPOST DataがASPXで受け取れない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2002-08-20 22:53
いつもお世話になっております。TKです。
この質問はASP.NETの問題がどうか疑問ですが解決の 糸口がないので、この場で皆さんのお力をお借りしたいと 思います。よろしくお願いします。 具体的には、次の用なものを作成しています。 1.Windows application において、MSINET(Microsoft Internet TransferのCOMを参照) を呼んで"aa"という文字をPOSTするメソッドを次のように書いています。 (駄コードすみません・・ private void button1_Click(object sender, System.EventArgs e) { string emptystr = ""; object objTarget = emptystr; string header = "Content-Type: application/x-www-form-urlencoded"; object objHeader = header; string urlstr = "postを受け取るaspxのPATH"; string postData = "aa"; object objPostData = postData; axWebBrowser1.Navigate(urlstr,ref objFlag, ref objTarget, ref objPostData,ref objHeader); } 2.aspx側ではPage_Loadメソッドの中で TextBox1.Text=Request.Form.ToString(); としています。 button1_Clickを実行すると、aspxファイルが立ち上がり表示されるのですが、 POSTされた文字を表示させる部分に何も表示されません。 GetValue(0)でエラーになったので、 何もきてないのではと考えています。どなたか、原因が思いつかれる方 がおりましたら教えてください。 お願いします。 尚、環境はWIN2000(+ Sp3)上で VS.NETで開発しています。 | ||||
|
投稿日時: 2002-08-21 12:05
>何もきてないのではと考えています。どなたか、原因が思いつかれる方
>がおりましたら教えてください。 つい最近ブラウザーコントロールを使った構築があったので、お答えできると思います。ちなみに構文がVBですが、内容的に問題はないかと思います。 問題になっているのは、 >string postData = "aa"; >object objPostData = postData; この部分です。PostDataは必ず、1次元のバイト配列でなければいけません。詳しくは http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com/japan/support/kb/articles/JP174/9/23.asp を見て頂ければ載っています。それを踏まえた上で以下がサンプルソースです。 Dim PostData() As Byte PostData = Encoding.Unicode.GetBytes("aa") これでASPXから受け取れると思われます。 _________________ -------------------------------------- ネットビルド 小田原貴樹 odahara@netbuiuld.jp -------------------------------------- | ||||
|
投稿日時: 2002-08-21 12:58
返信ありがとうございました。本当に助かりました。
aaを送ると、a%00a%00と16進数らしきものが くっついてきますが、これは送信先でとってしまえば 問題なしですよね。 とにかくPOSTができたというだけでも満足です。 ありがとうございました。 | ||||
|
投稿日時: 2002-08-21 13:09
すみません自己レスです。 馬鹿なことを言ってますね・・・問題無しでした。 |
1