UserAgent和UserDataDir的应用

UserAgent和UserDataDir的应用

欢迎转载,同时请附上原文链接:http://www.cnblogs.com/tianxiaozz/archive/2013/03/28/access_mobile_website_on_pc.html

一、基础篇

  如果用电脑的浏览器来访问网站的手机站点,结果会怎么样,那取决于网站对于浏览器用户的限制,如百度、淘宝、凡客、新浪微博、Google等网站是允许用户通过普通的电脑端浏览器访问手机站点的(在我写这篇博客时是可以的,以后改不改规则就不知道了)。

  但如果,网站不允许用户通过电脑端浏览器访问手机站点,这就得从UserAgent说起了:

      网站一般用UserAgent来判断来访用户使用的浏览器,平台等,如果针对不同的平台有不同的限制,就会出现电脑端无法访问手机站点的情况(一般自动跳转到PC站点)。

  这里引用http://whatsmyuseragent.com里面的一张图来解释UserAgent的格式:

  英文比较简单,分别为:应用名、应用版本、是否适配、浏览器类型、操作系统类型和浏览器/系统的扩展。

  电脑端的浏览器和手机端的浏览器的UserAgent是不一样的:

  用电脑和手机的浏览器访问http://whatsmyuseragent.com这个网址即可,得到相应的UserAgent:

  电脑端:

  手机端:

  从以上看出,电脑端我用的是Windows上的Chrome浏览器,手机我用的是Android,来自QQ浏览器,甚至显示了手机的型号(我去,有做广告的嫌疑了,当然,不同浏览器的User Agent有差异)。

二、应用篇

1、用电脑上的浏览器访问手机站点

  只要指定电脑上的浏览器的UserAgent为手机端的User Agent,即可达到要求。

  引用http://whatsmyuseragent.com上常用的User Agent:

Windows上的Google Chrome

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17

Android上的Google Chrome

Mozilla/5.0 (Linux; Android 4.2.1; Galaxy Nexus Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19

IPhone上的Google Chrome(好像很不咋地,找同学弄个数据刷了好久)

Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) CriOS/25.0.1345.124 Bobile/9B206 Safari/7534.48.3

IPhone上的Safari

Mozilla/5.0 (iPhone; CPU iPhone OS 6_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B141 Safari/8536.25

IPad上的Safari

Mozilla/5.0 (iPad; CPU OS 6_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B141 Safari/8536.25

以上只是个别数据,想看自己的数据请登入http://whatsmyuseragent.com查看。

下面以Google Chrome来说明如何伪装User Agent

Google Chrome安装后,快捷方式如下:

在目标里面配置Google Chrome的User Agent:(你的Google Chrome目标路径也许和我不一样)

在C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe 后面填上--user-agent="Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1" ,这里是伪装为Android 2.2版本的Nexus One手机。

然后重新打开Google Chrome浏览器,就可以一Android身份访问手机站点了。PS:如果想换成普通的,将添加的去掉后重启即可。

以上的User Agent太长,不便于记忆和修改,可以简单的写为:

以下引用自http://luckerme.com/archives/903.html

把Chrome伪装模拟成iPad的User Agent字符串:

--user-agent="iPad"

把Chrome伪装模拟成iPhone的User Agent字符串:

--user-agent="iPhone"

把Chrome伪装模拟成Android的User Agent字符串:

--user-agent="Android"

如果使用简单的User Agent配置,未能达到想要的效果,可以考虑使用复杂的User Agent.

2、一个浏览器以两种不同的配置使用

上文说到,一个浏览器以Android身份运行,想用回正常的浏览器,必须改回来,这个有点麻烦。

以下参考自http://beamnote.com/2010/20-chrome-tweaks.html

主要是利用–user-data-dir这个参数,这个参数所代表的用户数据的目录,默认的目录在C盘里,可以新建一个用户数据目录

让一个Google Chrome以多种配置运行的步骤:

1 在D盘新建目录D:\ChromeData

2 复制Google Chrome的快捷方式

3 将快捷方式的目标的后面设置User Agent和user-data-dir:

  C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe后面加上--user-agent="Android" --user-data-dir="D:\ChromeData"

4 点击新建的快捷方式,就可以用Andorid身份访问各个站点,且数据不和已有的Google Chrome冲突。

3、一个浏览器,多个不同的配置

如果想在电脑上使用一个浏览器,不同的配置(不同的用户和密码,不同的历史记录等)。

重复第二个目标,多建几个user-data-dir,然后多建几个快捷方式,分别制定User Agent和user-data-dir即可。

当然多个快捷方式启动起来有点麻烦,可以考虑批处理命令:

譬如   一个快捷方式的名称为Android_Google_Chrome.lnk

启动方式为  start Android_Google_Chrome.lnk XXX  后面的XXX指的是要访问的网址

如果有多个快捷方式格式为:

 start Android_Google_Chrome1.lnk XXX

 start Android_Google_Chrome2.lnk XXX

 start Android_Google_Chrome3.lnk XXX

 start Android_Google_Chrome4.lnk XXX 

 start Android_Google_Chrome5.lnk XXX

将以上语句存在一个文本文件里,后缀名改为bat,点击执行,即可启动五个不同配置Google Chrome。

 欢迎转载,同时请附上原文链接:http://www.cnblogs.com/tianxiaozz/archive/2013/03/28/access_mobile_website_on_pc.html

原文地址:https://www.cnblogs.com/Leo_wl/p/2987794.html