当我在chrome响应模拟器中向返回302重定向的页面发出请求时,我看到一个具有不同用户代理字符串的新请求。
这里你可以看到‘Android7.1.1’的用户代理。


对于302重定向之后的下一个请求,用户代理字符串被更改。

发布于 2021-11-04 16:57:30
您引用的问题与.NET服务器无关。它无法为浏览器返回用户代理字符串。用户代理字符串仅由浏览器设置。但是你的字符串被改变了。现在已选中Chrome (v95 x64)、Opera (在Chromium v94 x64上)、Edge (v95 x64)和FireFox (v94 x64)。对于重定向链接,我使用HTTP://google.com (是的,不是HTTPS -将HTTPS重定向为307 Inner redirect)。所有用于速度和统一的初始用户代理都设置为相同的“iPhone 5/SE”。我的结果如下。
铬合金。
HTTP请求以电话Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1的形式发送。
HTTPS使用Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36。用户代理已更改。问题。就是你强调的那个案子。
Opera (几乎是另一个Chrome版本)。HTTP请求将作为电话发送。HTTPS就像手机一样。不更改用户代理。所有操作都如预期的那样工作。
Edge (几乎是相同的Chrome版本)。和Chrome上的情况一样。阿丁!
FireFox (不同引擎)。HTTP没有go -最初以HTTPS开头的HTTP/3。这里不是一个例子。
在Chromium错误列表中也有类似的问题。但它和你的不一样。https://bugs.chromium.org/p/chromium/issues/detail?id=1234461&q=User-agent%20string&can=2
不管怎样,看起来你在v95上发现了一个Chromium问题。
致以我的问候!报告该问题是您的权利。
作为一种选择,可以在服务器上使用新的User-Agent Client Hints头Sec-CH-UA*:Sec-CH-UA、Sec-CH-UA-Mobile、Sec-CH-UA-Platform。但这些扩展都是新的。大多数现代浏览器都在使用它,但Firefox和Safari却没有。只需将服务器设置为请求它们即可。如果客户端正在使用UA字符串,最好通过JS:navigator.userAgent、navigator.appVersion和navigator.platform获取正确的值。
计划在未来摆脱已经不清晰的UA字符串。
https://stackoverflow.com/questions/69807557
复制相似问题