前提・実現したいこと
C#のプログラムからブラウザを立ち上げ検索窓からyahoo検索を行う。
Googleでもかまわないです。
下記コードは簡単にイメージを勝手に書いただけなのですが そんな事が可能なのかもわからずにおります。
もしそんな可能であれば何を勉強すべきかなど教えて頂くだけでとても嬉しいです。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
C# Unity
if (Input.GetKeyDown(KeyCode.KeypadEnter))//テンキーのエンター { //標準のブラウザで開いて表示する string w = "egg";//「egg」と言うワードを代入 System.Diagnostics.Process.Start("https://yahoo/検索窓/" + w);//eggを検索する }
試したこと
上記のコードはイメージとなります。
宜しくお願い致します。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
ブラウザを立ち上げれば済むことなのか、検索結果をアプリで使用するのかで方法が変わります。検索結果を使用したいのであれば規約上 API を使わざるを得ません。
今回はブラウザを立ち上げて「egg」と言うワードでどんなサイトが表示されるか検索して眺めるだけでございます。
できました!!
string w = "egg";
Process.Start("https://search.yahoo.co.jp/search?p=" + w);
egg なら必要ありませんが、日本語を使いたい場合には BOM 無し UTF-8 で URL エンコーディングしてください。
https://docs.microsoft.com/ja-jp/dotnet/api/system.web.httputility.urlencode?view=netframework-4.8
https://docs.microsoft.com/ja-jp/dotnet/api/system.text.utf8encoding?view=netframework-4.8
ありがとうございます。
エンコーディングが少し難しく考えていましたが 普通に日本語を入れてもうまく作動するようでした。
しかしWebGLでアプリを立ち上げてみると反応せずProcess自体が規格から外されているようでした。
とても残念です。
ついでに補足します。
うまく動作するのはたまたまです。Windows の場合は UTF-8 ではなく CP932 を使う可能性がありますが、これを使うと URL に使ってはいけない文字が入り込むことがあったり、サーバーが期待する URL とは違ったりすることがあるので、希望するページにたどり着けないことがあります。アルファベットと数字以外(記号含む)を使う際には必ずエンコードしてください。次の定型句でできます。
HttpUtility.UrlEncode("検索したい文字列", new UTF8Encoding(false))
なるほど。
とても参考になります。
こういう知識が実践で役に立つのでしょう。
ご親切にありがとうございました。
回答4件
あなたの回答
tips
プレビュー