Https 如何连接由c套接字类实现的http服务器

Https 如何连接由c套接字类实现的http服务器,https,Https,我已经根据rfc2616协议通过socket类完成了http协议,但是如何使用socket类连接https协议并向服务器发送数据呢 当我连接https服务器时https://www.example.com,我总是得到404错误。下面是要发送到服务器的套接字命令https://www.example.com/ GET/HTTP/1.1主机:www.example.com 默认值始终使用http协议 我发现连接到https服务器需要使用connect命令,而不是Get命令和客户端证书。例如: CON

我已经根据rfc2616协议通过socket类完成了http协议,但是如何使用socket类连接https协议并向服务器发送数据呢

当我连接https服务器时https://www.example.com,我总是得到404错误。下面是要发送到服务器的套接字命令https://www.example.com/

GET/HTTP/1.1主机:www.example.com

默认值始终使用http协议

我发现连接到https服务器需要使用connect命令,而不是Get命令和客户端证书。例如:

CONNECT login.example.com:443 HTTP/1.0
Major Version: 3
Minor Version: 1
......
我将尝试使用connect命令。谢谢你的回复

================================================== 好的,我已经解决了我的问题,使用SLStream类


现在,威尔可以读流和写流,直到完成。

您正在监听哪些端口?您试图连接到什么端口?您是被迫使用Sockets ie assignment之类的,还是可以使用更简单的WebClient,或者HttpWebRequest?@jv42,是的,HttpWebRequest类可以完成,但是HttpWebRequest的GetResponse方法将阻止所有线程,直到它完成HttpWebRequest将只阻止调用线程,如果调用线程是负责更新UI的主线程,则这是不好的,但如果该线程是为此目的启动的后台线程,则这不是问题。如果使用HttpWebRequest.BeginGetResponse,则主线程将不会阻塞。
NetworkStream networkStream=new NetWorkStream(socket)
var stream=New SslStream(networkStream)
.......