首页 文章

如何使用system.net.http库正确添加HttpRequestHeaders

提问于
浏览
0

我使用 windows.web.http; 库创建了一个带有标头的HttpRequestMessage:

var request = base.CreateHttpRequestMessage();
        request.Headers.Add("SESSION", SessionId);
        return request;

并在发送SendRequestAsync()之后; ,我能够成功得到答复 .

但在我的情况下,我需要使用 system.net.http; 库,具有相同的代码:

var request = base.CreateHttpRequestMessage();
        request.Headers.Add("SESSION", SessionId);
        return request;

但是当我调用SendAsync()时; ,我得到了一个UnAuthorized回复 . 有谁知道造成这个问题的原因?

var source = new CancellationTokenSource(timeout)
var response = await _client.SendAsync(request, source.Token)
                    .ConfigureAwait(false);

NOTE: 我尝试在 windows.web.http 上为两者手动设置相同的有效 SessionId ,但是在 system.net.http 上未经授权 .

Reference Link: https://docs.microsoft.com/en-us/dotnet/api/system.net.http?view=netframework-4.7.2
https://docs.microsoft.com/en-us/uwp/api/windows.web.http

Requests Header format:
windows.web.http:
enter image description here
system.net.http:
enter image description here

谢谢 .

1 回答

  • 1

    system.net.http 的一个缺点是,发送 Cache-Control 可能是潜在的问题 .

相关问题