javascript - 如何更改无头 Chrome 检测到的操作系统?
问题描述
我使用 pyppeteer。但是当我访问https://ipleak.net时,它会检测到我的真实操作系统。我尝试加载这个 scrypt
async with aiofiles.open(os.path.join(BASEDIR, 'preload.js'), mode='r') as f:
preloadFile = await f.read()
# code for opening browser and page
# .......
await page.evaluateOnNewDocument(preloadFile)
preload.js
var fakePlatformGetter = function () {
return "Linux armv8l";
};
if (Object.defineProperty) {
Object.defineProperty(navigator, "platform", {
get: fakePlatformGetter
});
} else if (Object.prototype.__defineGetter__) {
navigator.__defineGetter__("platform", fakePlatformGetter);
}
但它不起作用。我能做些什么来隐藏我的真实操作系统?
解决方案
client = await page.target.createCDPSession()
client.send('Network.setUserAgentOverride', {'userAgent': 'Mozilla/5.0 (Linux; Android 10; MI 9) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.96 Mobile Safari/537.36', 'platform': 'Linux armv8l'})
推荐阅读
- arrays - 用恒定时间的新数据更新现有列表?
- python - Pandas 保存为 CSV 时更改 NaN 值的格式
- javascript - Jquery 部分追加
- python - 如何在 Virtual Studio Code 中为 sqlite3 文本着色
- date - Stata 面板数据:egen =total() 从给定日期开始的时间段内
- bash - 在 grep 命令后使用时不显示 awk 的输出
- android - onCreateView的android studio中的logcat错误
- javascript - NodeJS 网站在本地工作,没有托管
- r - 条件算术运算错误信息
- javascript - 如何在每个列表项之前添加一个复选框,在列表项之后添加一个删除按钮?