在进行http客户端请求调用之前如何验证用户代理是否正确?

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

我有创建HTTP客户端请求时使用的用户代理列表。

有时某些用户代理给我一个错误:

client.DefaultRequestHeaders.Add("user-agent", currentUserAgent);
HttpResponseMessage responseMessage = await client.GetAsync($"{pageUrl}");

我收到类似的错误:

[Mozilla / 5.0(iPad; U; CPU OS 3_2 like Mac OS X;zh-cn)AppleWebKit / 531.21.10(KHTML,例如Gecko)版本/4.0.4Mobile/7B334b Safari / 531.21.10'无效

是否可以事先验证用户代理?

c# httpclient
1个回答
0
投票

您可以在分配之前使用以下Regex表达式来验证用户代理字符串:

Mozilla\/5\.0 \(Linux; U; Android (\d+\.)?(\d+\.)?(\*|\d+); [a-z]{2}-[a-z]{2}; (AFTA|AFTN|AFTS|AFTB|AFTT|AFTM|AFTKMST12|AFTRS) Build\/([A-Z0-9]+)\) AppleWebKit\/(\d+\.)?(\*|\d+) \(KHTML, like Gecko\) Version\/4\.0 Mobile Safari\/(\d+\.)?(\*|\d+)

请检查原始答案:HERE

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