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