通过电脑来访问手机站点——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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构