
フォームのテキストボックスに検索語を入れて、ボタンを押すと、
その結果を既定のブラウザで表示させたいです。
調べると、フォームがpostをして、「フォームがその結果を受け取る」というのは、
よく見るのですが、フォームがPOSTして、ブラウザが開いてサーバから返ってきた結果を
表示するというのはできるのでしょうか?
一度、ブラウザを立ち上げてそこからPOSTさせているというテクニックなどを
使っているのでしょうか?
例で言えば、一つのテキストボックス、一つのボタンで、
testと文字を入れて、ボタンを押すと、何かしらのPOST処理が行われて、
ブラウザが開いてgoogleの検索結果が表示される。
このような事をしたいのです、
なお、検索語は数字のみなので、2バイト文字は使いません。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
回答#1です。
すみません、書き忘れました。
例えばgoogleですと、検索リクエストはGETで行うことができ、POSTを行う必要はありません。よって、ブラウザに検索語を含んだURLを渡すだけで、ご希望の動作になりそうな気がします。
あと、カテゴリ欄はVBですね。見落としていました。
VBの「フォーム」に検索語を入力するということでも、上記の動作は実現できると思います。
この回答への補足
はい、VBのフォームです。
例はgoogleでしたが、もちろんGETでも検索はできるのですが、
あくまで本番用では、フォームのボタンonclickにて、サーバへPOSTを行い、
最終的に既定のブラウザでPOSTした処理の結果を表示したいのです。
GETであれば、proccess.startで引数にURLを与えれば、
サーバからのレスポンスをブラウザで受けることができるのですが、
POSTをするとなると、ブラウザがPOST処理を行わないと、
ブラウザにPOSTの結果が表示されないと思うのです。
その方法が知りたいのですが、ご存じではありませんか?
たとえば、宅急便の発送管理ソフトウェアでは、追跡番号をPOSTして、
ブラウザで表示することができます。
No.4
- 回答日時:
VB のバージョンが書いていないので...。
VB のバージョンや使用する IE や WebBrowser によっても方法が違ってきます。
No.3
- 回答日時:
VB.NETはあまり詳しくないので参考URLだけ貼っていきます.
機械翻訳なので,結構わかりにくいです.
ただし,既定のブラウザではなく,IE固定になってしまいます.
方法: フォームのデータの POST を自動化します。
http://support.microsoft.com/kb/311293
C#でよければサンプルは以下のような感じです.
whoisでokwave.jpを検索しています.
イベントハンドラに処理を記述しておけば,IEが起動してPOSTします.
(参照にCOMのMicrosoft Internet Controlsを追加してください)
byte[] postData = ASCIIEncoding.ASCII.GetBytes("type=DOM&key=okwave.jp");
String headers = "Content-Type: application/x-www-form-urlencoded\r\n";
Console.WriteLine(headers);
var ie = new SHDocVw.InternetExplorer();
ie.Visible = true;
ie.Navigate2("http://whois.jprs.jp/", Type.Missing, Type.Missing, postData, headers);
参考URL:http://support.microsoft.com/kb/311293
No.1
- 回答日時:
検索語を入力する「フォームのテキストボックス」というのが、何のことかわかりません。
ブラウザ以外の何かでしょうか。
技術的な点を回答すると、HTTP通信というのは、1本のTCPコネクションを開いて、
クライアント側がリクエストを送り、サーバはレスポンスを同じコネクションに
乗せて返します。
というわけで、
> 一度、ブラウザを立ち上げてそこからPOSTさせているというテクニックなどを
> 使っているのでしょうか?
というのが、一番近い回答だと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォーム1が開いているのならMs...
-
クリックイベントなのに、2回ク...
-
MSGBOXのフォント大きさ変更
-
ユーザーフォームのラベルに時...
-
オブジェクト(コントロール)...
-
Ctrl+F4を押してもフォームが...
-
ExcelVBAのコントロールの種類...
-
どう増強すべきか
-
複数のコマンドボタン(VBAで)...
-
VBA シートのボタン名を変更し...
-
パソコンへの「Dropbox...
-
AccessVBAで「dim dbs as datab...
-
Debug.exe実行時にWinMainCRTSt...
-
【マクロ】エラー【#DIV/0!】が...
-
VB.NETでラベルの大きさってど...
-
[VB.net] ボタン(Flat)のEnable...
-
Do While中のVBAアプリケーショ...
-
共通モジュールでDBへの接続と...
-
worksheetFunctionクラスのVloo...
-
Amazon api について。JANコー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームを表示中にシ...
-
クリックイベントなのに、2回ク...
-
ExcelVBAのユーザーフォームの...
-
モーダルフォームとモードレス...
-
Form_Load と Form_Activate の...
-
Hideについて(.NET)
-
VBAでユーザーフォームを再表示...
-
ユーザーフォームのテキストボ...
-
Excelにて、ユーザーフォームで...
-
EXCEL VBA ユーザーフォームの...
-
エクセルVBAのフォームを最...
-
ユーザーフォームのラベルに時...
-
フォームウィンドウを最前面に...
-
テキストボックス入力データの...
-
ユーザーフォーム上に現在日時...
-
ACCESSのフォーム、開くんです...
-
'ユーザーフォーム右上隅の[×...
-
VBA(エクセル)のユーザー...
-
パソコンの画面に合わせてユー...
おすすめ情報