C#HTTP GET总是先尝试连接

C#HTTP GET总是先尝试连接,c#,http,C#,Http,这段代码(以及所有其他GET代码段)总是首先触发HTTP连接(到指定的地址),然后(据我所知,通过隧道)触发我想要发出的简单GET请求 据我所知,这里发生的是我的代码要求somerandomsite.com充当代码和站点本身之间的代理。。。听起来有点胡说八道。或者我严重误解了连接方法 为什么会这样?为什么不能直接得到呢 无论请求的URI是什么,都会发生这种情况 传递var handler=newhttpclienthandler(){UseProxy=false}到客户端不会改变任何事情。正如

这段代码(以及所有其他GET代码段)总是首先触发HTTP连接(到指定的地址),然后(据我所知,通过隧道)触发我想要发出的简单GET请求

据我所知,这里发生的是我的代码要求somerandomsite.com充当代码和站点本身之间的代理。。。听起来有点胡说八道。或者我严重误解了连接方法

为什么会这样?为什么不能直接得到呢


无论请求的URI是什么,都会发生这种情况


传递
var handler=newhttpclienthandler(){UseProxy=false}到客户端不会改变任何事情。

正如Sam Axe所说,HTTP连接是初始化所有TLS连接的必要部分。

它发送HTTP连接是什么意思?你在哪里看到的?“你凭什么认为它是代理?”梅森说,“我在菲德勒身上看到了这一点。我认为它是作为一个代理,因为代理是,据我所知,连接方法的目的。(…或者这仅仅意味着TCP套接字被打开并保持活动状态以提高性能,而不是完全无状态?关于连接的文章明确指出它是关于代理的)或者您尝试访问的站点是代理,或者您与该站点之间有代理(如公司防火墙),并希望您先连接以打开TLS隧道。据我所知,所有
https
连接都以
CONNECT
开始。它允许
SSL
隧道运行。
HttpClient client = new HttpClient();
var request = await client.GetAsync("https://www.somerandomsite.com");
string response = await request.Content.ReadAsStringAsync();