我刚刚进入 .net core,因为它为 HttpClient 提供了功能(例如设置 keep-alive 标头上限)。 我正在使用 2.1 网络核心和 C# 7.3
我的问题
我的问题特别是关于设置“Accept”和“Accept-Language”标头。我试图访问的网站按原样解析这两个标头,这意味着它必须具有相同的精确格式(包括空格)。
使用 fiddler (和其他一些工具)来获取我的请求。
text/html, application/xhtml+xml, application/xml; q=0.9, image/webp, image/apng, */*; q=0.8, application/signed-exchange; v=b3
Run Code Online (Sandbox Code Playgroud)
而不是:(正确的格式)
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Run Code Online (Sandbox Code Playgroud)
en-US, en; q=0.9, ar; q=0.8, und; q=0.7
Run Code Online (Sandbox Code Playgroud)
而不是:(正确格式)
en-US,en;q=0.9,ar;q=0.8,und;q=0.7
Run Code Online (Sandbox Code Playgroud)
我正在 HttpRequestMessage 的帮助下使用 HttpClient 模拟 GET 请求。
我尝试过的
.Headers.TryAddWithoutValidation你会在下面找到我当前的代码
var client = new HttpClient(new HttpClientHandler() { UseCookies = false,
AllowAutoRedirect = false,
Proxy = new WebProxy("localhost:8888") });
var httpReq …Run Code Online (Sandbox Code Playgroud)