2010-06-27 49 views
3

如何在.NET C#中打開通過代理服務器的套接字?如何在.NET C#中打開套接字通過代理服務器?

所以我打開了我的機器上的插座。 pe和代理服務器之間沒有節點。我連接到代理服務器。現在如何向知道代理服務器地址被代理服務器重定向或轉發給我的全球知識產權世界發出請求?

任何庫的博客文章?請幫忙

+1

什麼樣的代理? SOCKS? HTTP? FTP? X?遠程登錄? – 2010-06-27 11:09:59

+0

SOCKS和HTTP。 – Rella 2010-06-27 11:17:41

回答

6

你不能打開一個套接字'通'的東西,只能'東西'。使用代理服務器(我假設你正在討論支持'CONNECT'命令的HTTP代理服務器),它是一樣的:首先打開一個連接,然後使用它的協議使代理服務器轉發你想要使用'CONNECT'命令的連接。

所以,你需要做以下步驟:

  1. 連接到代理。
  2. 問題CONNECT Host:Port HTTP/1.1<CR><LF>
  3. 問題<CR><LF>
  4. 等待響應線。如果它包含HTTP/1.X 200,則連接成功。
  5. 閱讀更多的響應行,直到收到空行。
  6. 現在,你通過代理連接到外部世界。做任何你想要的數據交換。
+0

於是我在機器上打開了一個插座。 pe和代理服務器之間沒有節點。我連接到代理服務器。現在如何向知道代理服務器地址被代理服務器重定向或轉發給我的全球知識產權世界發出請求? – Rella 2010-06-27 11:22:01

+0

那麼,當你在第2步說你連接...,你打開一個連接到一些遠程主機。你連接到它,而不是相反。當你連接 - 第6步 - 在遠程端,有一個打開的套接字,遠程端可以用來發送數據給你。 – Haspemulator 2010-06-27 11:31:16

+0

你能發送連接嗎?'或者你必須發送2個數據包? – SSpoke 2015-07-30 07:25:25

相關問題