C# HTTPS连接期间未发送用户代理标头

C# HTTPS连接期间未发送用户代理标头,c#,.net,ssl,https,user-agent,C#,.net,Ssl,Https,User Agent,我们有一个与azure(ServiceBus、Queue和Blob)和一些需要HTTPS的第三方Web服务通信的应用程序 问题是,我们的一些客户机使用带有规则的代理服务器来阻止基于用户代理标头的连接,正如我们发现的,.NET在HTTPS连接期间不发送用户代理。 对于Azure,我们可以选择不使用HTTPS而使用HTTP(我不喜欢它,但这是可能的)。问题是我们需要通过HTTPS访问Web服务。我们无法控制此Web服务,HTTPS是必需的 我搜索了解决方案,发现有几个人有同样的问题,但除了避免HTT

我们有一个与azure(ServiceBus、Queue和Blob)和一些需要HTTPS的第三方Web服务通信的应用程序

问题是,我们的一些客户机使用带有规则的代理服务器来阻止基于用户代理标头的连接,正如我们发现的,.NET在HTTPS连接期间不发送用户代理。 对于Azure,我们可以选择不使用HTTPS而使用HTTP(我不喜欢它,但这是可能的)。问题是我们需要通过HTTPS访问Web服务。我们无法控制此Web服务,HTTPS是必需的

我搜索了解决方案,发现有几个人有同样的问题,但除了避免HTTPS和使用HTTP之外,没有其他解决方案。 有人知道这个问题的解决方案吗?是否可以用其他库(如libcurl.NET)替换“default.NET HTTPS连接”,并将此库用作应用程序中的默认库


谢谢。

您使用什么类进行HTTPS连接?如果您使用的是HttpWebClient,您可以自己设置用户代理:或者您是说当方案为HTTPS时忽略此属性?在HTTPS连接期间忽略此属性。正如我在某处读到的,在建立连接后发送的请求中发送了头,但在连接过程中没有发送。根据这一点:这个问题与WinHTTP有关,是Windows 7中引入的“行为改变”。