VBでオリジナルブラウザーを製作中ですが、UserAgentを独自にしたいのですが、
どなたかご存知でしたら、教えてください。
「オリジナル」という事は、WinSock等でHTTP通信を行っているのだと想像しますが、
それであれば、その「オリジナルブラウザ」がデータをリクエストする際に、
HTTP要求ヘッダで、任意の文字列を「User-Agent」として指定するだけで済みますよ。
あるいは、XMLHTTPオブジェクトで通信している場合や、WebBrowserコントロールを
流用しているような場合でも、ヘッダの上書き指定は可能ですよね。
ただし、WinSock等で独自に通信している場合はともかくとして、
WebBrowserをカスタム化しているような場合は、スクリプトの制御が
非常に面倒かも知れませんけれどね。。。。
# 徹底的にやろうとするならば、User-Agentヘッダを送るだけではなく、
# クライアントスクリプト上における、navigatorオブジェクトの
# userAgentプロパティも偽装しなければいけなくなるでしょうし。
WebBrowserコントロールで行おうとしていますが、フレーム等がうまく表示されません、根本的にuserAgentを変更してしまう方法はありませんか?
具体的なコードは書きませんが、サーバサイドに対するUser-Agentに関しては、
BeforeNavigate2イベントでナビゲーションをキャンセルし、その後改めて、
Navigate2メソッドをHeaders引数付きで呼び出す事で解決できると思います。
一応そのような対応をしておるのですが、表示されるのは連続でフレームが表示され、バラバラの状態になってしまいます。1枚のページとして表示されません。
レジストリの設定等では無理なのでしょうか?
> レジストリの設定等では無理なのでしょうか?
一応、HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\ に、
UserAgent修正用のエントリが幾つか用意されているのですが、これらはアプリケーション単位で
設定するための物ではなく、OS全体に影響を与えてしまうものなので、あまりお奨めできません。
下記も参照してみてください。
http://support.microsoft.com/default.aspx?kbid=183412
ありがとうございました。
もう少し色々試行錯誤してみます。
ツイート | ![]() |