Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在.Net C#中通过代理服务器打开套接字?_C#_.net_Proxy_Sockets - Fatal编程技术网

如何在.Net C#中通过代理服务器打开套接字?

如何在.Net C#中通过代理服务器打开套接字?,c#,.net,proxy,sockets,C#,.net,Proxy,Sockets,如何在.Net C#中通过代理服务器打开套接字 所以我在我的机器上打开了一个插座。pe和代理服务器之间没有NAT。我已连接到代理服务器。现在如何使来自全球IP世界的请求知道代理服务器adress被代理服务器重定向或传输给我 有libs的博客文章吗?请帮助您不能“通过”某物打开插座,只能“到”某物。对于代理服务器(我假设您谈论的是支持“CONNECT”命令的HTTP代理),情况是一样的:首先打开到它的连接,然后使用它的协议使代理在您希望使用“CONNECT”命令的位置转发您的连接 因此,您需要执行

如何在.Net C#中通过代理服务器打开套接字


所以我在我的机器上打开了一个插座。pe和代理服务器之间没有NAT。我已连接到代理服务器。现在如何使来自全球IP世界的请求知道代理服务器adress被代理服务器重定向或传输给我


有libs的博客文章吗?请帮助

您不能“通过”某物打开插座,只能“到”某物。对于代理服务器(我假设您谈论的是支持“CONNECT”命令的HTTP代理),情况是一样的:首先打开到它的连接,然后使用它的协议使代理在您希望使用“CONNECT”命令的位置转发您的连接

因此,您需要执行以下步骤:

  • 连接到代理服务器
  • 问题
    连接主机:端口HTTP/1.1
  • 问题
  • 等待回应。如果它包含
    HTTP/1.X 200
    ,则连接成功
  • 进一步阅读响应行,直到收到空行
  • 现在,您通过代理连接到外部世界。做任何你想要的数据交换

  • 什么样的代理?袜子HTTP?FTP?X?Telnet?所以我在我的机器上打开了一个插座。pe和代理服务器之间没有NAT。我已连接到代理服务器。现在,如何从全局IP世界发出请求,让代理服务器将代理服务器数据重定向或传输给我?好吧,当在第2步你说“连接…”时,你正在打开到某个远程主机的连接。你连接到它,而不是相反。当您连接时-步骤6-在远程端,有一个打开的套接字,远程端可以使用它向您发送数据。您可以使用
    发送CONNECT,还是必须发送2个数据包?请注意,此解决方案一点也不清楚。显然,尽管有这个答案,还是有人问了几个类似的问题。举个例子,请提供一个带有示例代码的相关解决方案。这正是我所需要的。我觉得很清楚。