如何在android中为Webview应用程序构建自定义用户代理字符串?

问题描述 投票:0回答:1

我的应用程序中有Webview。最近我尝试登录gmail,但收到错误消息“错误403:disallowed_useragent”。

从我使用的文档中

Mozilla/5.0 (Linux; Android 4.4; Nexus 4 Build/KRT16H) AppleWebKit/537.36
(KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36

但是我的应用程序崩溃

    E/chromium: [ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (safe_browsing.mojom.SafeBrowsing.0 )
E/chromium: [ERROR:render_process_host_impl.cc(4990)] Terminating render process for bad Mojo message: Received bad user message: Validation failed for safe_browsing.mojom.SafeBrowsing.0  [VALIDATION_ERROR_DESERIALIZATION_FAILED (safe_browsing.mojom.SafeBrowsing.0 )]
    [ERROR:bad_message.cc(27)] Terminating renderer for bad IPC message, reason 123
E/chromium: [ERROR:validation_errors.cc(76)] Invalid message: VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.URLLoaderFactory.0 )
E/chromium: [ERROR:render_process_host_impl.cc(4990)] Terminating render process for bad Mojo message: Received bad user message: Validation failed for network.mojom.URLLoaderFactory.0  [VALIDATION_ERROR_DESERIALIZATION_FAILED (network.mojom.URLLoaderFactory.0 )]
    [ERROR:bad_message.cc(27)] Terminating renderer for bad IPC message, reason 123
E/chromium: [ERROR:aw_browser_terminator.cc(125)] Renderer process (14677) crash detected (code -1).
E/chromium: [ERROR:aw_browser_terminator.cc(90)] Render process (14677) kill (OOM or update) wasn't handed by all associated webviews, killing application.

所以我想知道如何构造一个可用于每个站点的用户代理字符串。如果有人告诉我用户代理的重要性,我将非常感谢。

android user-agent
1个回答
0
投票

请参见android user agent。对于旧版本的Android(API <30),请使用:

webview.getSettings().setUserAgentString("user-agent-string");

[User-agent告诉站点,哪个浏览器有一个用户。根据此值,网站可以更改行为(可以加载不同的内容或JavaScript),也可以在分析中使用。

© www.soinside.com 2019 - 2024. All rights reserved.