如何在客户端处理HTTP CONNECT隧道?

时间:2017-06-02 22:28:24

标签: sockets http https lua tunnel

我正在向客户端添加对HTTP CONNECT请求的支持,我似乎无法正确处理隧道。

我能够向代理发送一个CONNECT请求,该响应的状态代码为200.这个RFC告诉我隧道已经与终端服务器一起形成了。

如何从套接字角度使用此隧道? 在客户端,我打开的套接字最初接收来自代理的200响应。检查响应后,我应该将更多数据发送到该套接字吗? 我试过这种方法,客户端就挂了。数据似乎无法到达最终服务器。如何在创建隧道后使用此套接字执行普通的HTTP(S)?

1 个答案:

答案 0 :(得分:0)

  

检查响应后,我应该将更多数据发送到该套接字吗?

是。如果你正在说HTTPS,你现在开始一个TLS握手,然后通过TLS发送一个正确形成的HTTP请求并读取响应。

  

我尝试了这种方法,客户端就挂起了。数据似乎没有到达最终服务器。

因此,您的握手错误或您的HTTP格式错误。