VB.NETで、POSTでデータを送信する方法について
- 題名: VB.NETで、POSTでデータを送信する方法について
- 著者: Tuiteru
- 日時: 2011/04/24 21:55:26
- ID: 28494
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: VB.NETで、POSTでデータを送信する方法について
- 著者: Hongliang
- 日時: 2011/04/24 23:15:31
- ID: 28496
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: VB.NETで、POSTでデータを送信する方法について
- 著者: Tuiteru
- 日時: 2011/04/26 1:06:07
- ID: 28498
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: VB.NETで、POSTでデータを送信する方法について
- 著者: 管理人
- URL: http://dobon.net/
- 日時: 2011/04/26 4:48:36
- ID: 28499
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
【解決したい問題】
いつもお世話になります。
VB.NETで、POSTでデータを送信する方法について、質問です。
.NET Tipsの「POSTでデータを送信する」(http://dobon.net/vb/dotnet/internet/webrequestpost.html)を参考にして、
「IT用語辞典 e-Words」から「インターネット」という言葉を調べ、
その結果を取得し、表示しようとしております。
参考にしたソースは、
HttpWebRequestとHttpWebResponseを使った方法
(一番上のVB.NETのサンプルコード)です。
しかし、実行すると、以下の箇所でエラーが発生してしまい、
うまくいきませんでした。
'サーバーからの応答を受信するためのWebResponseを取得
Dim res As System.Net.WebResponse = req.GetResponse()
エラー内容
基礎になる接続が閉じられました: 受信時に予期しないエラーが発生しました ---> System.IO.IOException: 転送接続からデータを読み取れません: 既存の接続はリモート ホストに強制的に切断されました。
【解決するために何をしたか】
解決方法についてGoogleで検索し、次のページを参考にして、
以下の2箇所を修正しました。
参考ページ:WebRequest/WebResponseクラスでPOSTメソッドによりデータを送信するには?
(http://www.atmarkit.co.jp/fdotnet/dotnettips/318webpost/webpost.html)
<修正1>
'WebRequestの作成
Dim req As System.Net.WebRequest = _
System.Net.WebRequest.Create("http://www.e-words.ne.jp/search.asp")
⇒<修正後>
Dim req As System.Net.WebRequest = _
System.Net.WebRequest.Create("http://e-words.jp")
(修正理由:修正前の接続先にアクセスしても、接続できなかった為)
<修正2>
'POST送信する文字列を作成
Dim postData As String = _
"inlang=ja&word=" + _
System.Web.HttpUtility.UrlEncode("インターネット", enc)
⇒<修正後>
Dim postData As String = _
"cx=partner-pub-1175263777233757:xelkt7-c6j8" + _
"&" + "cof=FORID:10" + _
"&" + "ie=Shift_JIS" + _
"&" + "q=" + System.Web.HttpUtility.UrlEncode("インターネット",enc)
(修正理由:POSTに必要な情報が足りないと考え、追加)
上記のように修正した結果、エラーの内容は、以下のようになりました。
しかし、うまくいくことはありませんでした。
エラー内容
リモート サーバーがエラーを返しました: (405) メソッドは使用できません
【追加事項】
当方、VB.NETでの開発経験はありますが、
HTTPサーバーおよびVB.NETとの連携についての経験は無く、
独学で勉強している状況です。
そのため、見当違いの修正をしているのかもしれません。
正しく動作するよう、ご教授のほど、よろしくお願いいたします。