Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何TcpClient在 C# 中通过 HTTP 代理进行通信,就像WebProxy使用时一样HttpWebResponse?
TcpClient
WebProxy
HttpWebResponse
好吧,TCP 没有任何直接等同于 HTTP 代理的东西。在 HTTP 中,客户端(通常)知道代理 - 它与代理对话,并要求代理代表它连接到真实的 Web 服务器。
TCP 没有定义那种东西,所以任何代理都必须是透明的(即路由器或操作系统在客户端不知道的情况下执行的操作,例如使用iptables)或作为 TCP 之上协议的一部分( HTTP 代理就是一个很好的例子,正如另一个答案中提到的SOCKS一样)。
如果您深入到低级套接字编程,我很确定您需要编写自己的代理客户端。如果您只处理 HTTP 协议,则最好使用 HTTP 特定的类。如果您需要使用套接字来实现,HTTP 规范很好地描述了代理的行为,因此您可以编写自己的客户端。
如果您想使用 SOCKS 代理,已经有一些为 C# 编写的 SOCKS 库。试试这个。