通过.NET TcpClient与HTTP代理进行通信

时间:2009-03-27 21:35:12

标签: c# .net http-proxy

如何通过HTTP代理与C#中的TcpClient进行通信,有点像WebProxy时使用HttpWebResponse

3 个答案:

答案 0 :(得分:8)

嗯,TCP没有任何直接等同于HTTP代理的东西。在HTTP中,客户端(通常)知道代理 - 它与代理进行通信,并且要求代理以代表它连接到真实的Web服务器。

TCP没有定义那种东西,因此任何代理都必须是透明的(即路由器或操作系统在没有客户端知道的情况下执行的操作,例如使用iptables)或作为TCP上的协议(HTTP代理就是一个很好的例子,在另一个答案中提到SOCKS)。

答案 1 :(得分:3)

如果你进入低级套接字编程,我很确定你需要编写自己的代理客户端。如果您只处理HTTP协议,那么最好使用特定于HTTP的类。如果您需要使用套接字,the HTTP spec可以很好地描述代理的行为,那么您可以编写自己的客户端。

答案 2 :(得分:1)

如果您想使用SOCKS代理,已经为C#编写了一些SOCKS库。试试this one