7

如何TcpClient在 C# 中通过 HTTP 代理进行通信,就像WebProxy使用时一样HttpWebResponse

4

3 回答 3

8

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

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

于 2009-03-27T21:45:08.130 回答
3

如果您深入到低级套接字编程,我很确定您需要编写自己的代理客户端。如果您只处理 HTTP 协议,则最好使用 HTTP 特定的类。如果您需要使用套接字来实现,HTTP 规范很好地描述了代理的行为,因此您可以编写自己的客户端。

于 2009-03-27T21:45:08.880 回答
1

如果您想使用 SOCKS 代理,已经有一些为 C# 编写的 SOCKS 库。试试这个

于 2009-03-27T21:47:11.743 回答