Developer Tools による User Agent の変更が www.google.com で効かない
-
Developer Tools-More tools-Network conditions
でUser Agentを変更して
http://www.google.comで"my user agent"を検索しても
表示されるUAに変更が反映されません。
Google Chrome 77.0.3865.75(64 ビット)では有効です。https://www.whatismybrowser.com/detect/what-is-my-user-agent
などでは変更が有効です。コマンドラインオプションの--user-agent=
については2.8.1664.4でも有効です。環境
Windows7 x64
Vivaldi 2.8.1664.4 (32bit)
拡張機能は一切入れずに試しています -
@hiyori_odayaka ご報告ありがとうございます!VivaldiだけではなくChromeやOperaでも、同様の方法でUAを変更した場合、そちらのページでは元のUAが表示されます。おそらくはgoogle.comの仕様でそのようになっていると見られます。(他のページではUAスイッチが効くため)
Vivaldiの不具合ではないため、質問欄に移動しますね
-
検証ありがとうございました。
しかし、どうも腑に落ちません。
だいぶ長文になってしまうのですがご容赦ください。自分の環境ではOperaもChromeもDeveloper ToolsからのUA変更は可能です
スマホのUAを選ぶことでモバイル版の表示にすることができますが、Vivaldiではできません。そこで一つ気がかりなのが次の点を見落とされていなかったかという点です。
Developer Tools-Moor tools-Network conditions でのUA変更は、開いたサイトのドメイン内でしか有効となりません
またUAチェックをする場合にDeveloper Toolsが開いたままでないと "Select automatically" の無効化が維持されずUA変更が有効になりません。
(Developer Toolsドッキングしている場合に同じタブで別サイトを開けば "Select automatically"を維持したままサイト移動可能
Developer Toolsをドッキングではなく独立したウィンドウとして開けるように設定してある場合は、
サイトを開いてなくてもDeveloper Toolsを開くことができるようになり、そこでUA変更した場合はドメインの制限はなくなるようです)google.comの仕様ではないかという点については
ブラウザと挙動が異なるならgoogle.comの仕様ではなさそうに思えます。
UAが送られる時点でgoogleの影響を受けるというのがよくわかりません。
Chromiumの仕様というならわかりますが、そうであればChromeの挙動とも一致するのが普通に思えます。ページ内のリンクや操作ではなく
アドレスバーから直接www.google.comにアクセスしたときのヘッダー内のUAが変更されてません。
拡張が何も入っていない状態でアドレスバーからなのでページのスクリプトが介在することもないはずです。Fiddler( https://www.telerik.com/fiddler )を使い
Options-HTTPS-Capture HTTPS CONNECTs-Deccrypt HTTPS traffic を設定すると
HTTPSのヘッダーも見られるようになります。
それで次のように送られているヘッダーを見てみました。1.https://www.google.com/を開く
2.開発者ツールを開きMoor tools-Network conditionsでUA変更する
3.FiddlerでFile-Capture Traffic開始
4.https://www.google.com/と入ってるアドレスバ-にキャレットを置き[ENTER]を押す
5.適当なところdFiddlerでFile-Capture Traffic停止以下はキャプチャーした内容を開き
Inspectors-Heaers で右クリック-Copy All HeadersしたものですGET / HTTP/1.1
Host: www.google.com
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.93 Safari/537.36 Viv/2.9.1675.11
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Site: none
Accept-Encoding: gzip, deflate, br
Accept-Language: ja,en-US;q=0.9,en;q=0.8
Cookie: NID=188=OCDWf1ozLQ8MMOGEuB-W2WLAfLifIUAbgSFRjeAnA9tGhDTgxjh2s8epz4kul4niRstkH-pnHnp25_e6JXmAgLpK-E8eYvW2gz8dOr-sXifOWueJiZzqJEEkQOWCZaGpEbNTG9HZXQAXJP4ZACypT3e1qa2Ar13T52yjnUskO0g; 1P_JAR=2019-9-28-0; ANID=AHWqTUmRLNH5wIdoxN6MZeNfSFV__WOu82-iEOtROtrBfTvzLZkJG82JdjC09nLbhttps://forum.vivaldi.net/ で同じようにしてみた場合
GET / HTTP/1.1
Host: forum.vivaldi.net
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:46.0) Gecko/20100101 Firefox/46.0
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Site: none
Accept-Encoding: gzip, deflate, br
Accept-Language: ja,en-US;q=0.9,en;q=0.8
Cookie: __cfduid=d110db1f883c7ca5e76d55f2a6258a0681569631833; express.sid=s%3AFbrTC9EDmKTf5txWeg6Zk1ytdz4yB0JH.uqskvHnNv9xVUV0TX09KqoLkTRR%2B1urPFlqNOCW3DjY; io=L4NfjFcl8SS_32jZAFus; _pk_ses.1.c133=1; _pk_id.1.c133=66f83669142b0e53.1569631841.1.1569631917.1569631841. -
@hiyori_odayaka 検証ありがとうございます。私も再度確認したところ、前回確認時に作業ミスがあったことが分かりました。
こちら、誤りでした。大変失礼致しました。
VivaldiだけではなくChromeやOperaでも、同様の方法でUAを変更した場合、そちらのページでは元のUAが表示されます。おそらくはgoogle.comの仕様でそのようになっていると見られます。
google.com-my user agentや、Fiddlerの出力結果をご確認いただくと、VivaldiのUA末尾が「Viv/2.9.1675.11」となっており、whatismybrowser.comなどUA切り替え効くサイトでは「Vivaldi/2.9.1675.11」になっていることがお分かりいただけると存じます。
社内にて確認したところ、これは意図的に行っているものでした。
Googleのウェブサービスに特定のUAでアクセスした際、ネガティブなユーザー体験に繋がる挙動をすることがある(検索ボックスの上に検索語を表示する等 - 下図参照 )ため、それを回避するため「Viv」としています。それがNetwork conditionsの設定から塗り替えられる仕組みとなっていないため、google.comでUAが変更されない結果になります。こちらの対応策を外せばGoogleサービス上でもNetwork conditionsからUA切り替えが可能ですが、Vivaldiユーザーが不利益を得ないようにするにはGoogle社側の対応が必要と見られます。
-
@Takaaki
再検証していただきありがとうございました。ほかのブラウザからVivaldiのUAを使ってgoogleにアクセスするとたしかにgoogleの検索枠から入力ワードが飛び出しますね。
直接の理由がわかり、その点大変スッキリしました。
UA変更のできない理由が不具合や意図的な制限などではなく、googleへの対処の結果でいわば副作用であるという答えは若干意外でした。
関連報告の2.8以降拡張によるUA変更がgoogleで効かないというのも、同じ方針の中でのことなのかなと思います。ユーザからすると意識的なUI変更よりgoogleへの対処を優先していると捉えられる部分もあり、果たしてその必要性はあるのだろうかという気がしないでもありません。
しかし、それが当面の方針ならば仕方ないのかなとも思います。初回報告で書いた通りコマンドラインオプション「--user-agent="ua"」による変更は可能なので実際に困ることはないとは思います。
ただしその場合でも、あえてVivaldiのUAを渡すと"Vivaldi/"は"Viv/"に置換されるということが、今回あらためて試してみてわかりました。今後必要があれば要望を出すなど考えたいと思いますが、今のところは特に必要性があるわけでもないのでしばらく様子を見ようと思います。
返答遅くなりすみません。
-
Aahojo moved this topic from 質問・相談・議論 on