我有创建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'无效
是否可以事先验证用户代理?
您可以在分配之前使用以下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