2012-08-22 120 views
0

我可以找到任何PHP腳本充當代理服務器(襪子,http,..),並通過火狐連接到它(像任何其他代理服務器) (例如運行腳本首先是腳本的行爲像代理後,...) 我想繞過filtring代理在PHP腳本,並通過瀏覽器連接到它

我看到了這一點sourceforge.net/projects/php-proxy了,我需要連接到它像socks代理

我沒有任何服務器作爲SSH使用隧道或安裝其他代理應用程序,我只有服務器,並允許運行任何PHP screapt在它

坦克

+0

你正在嘗試構建自己的代理服務器,還是正在尋找完成的腳本?如果是後者,Stackoverflow可能不是該網站提出的問題。 – Frog

+0

我怎麼寫它? – maysam

回答

1

代理服務器基本上做了一件簡單的事情:它會加載請求並將其發送給您的日期(使其更容易,假設它是網站中的其餘部分)。因爲你不直接連接到網站,它認爲你在確實請求頁面:你的服務器。

有多種方式可以連接到代理服務器,有些使用自定義協議,而您可以在Web瀏覽器中使用http連接到其他服務器。因爲您提到您想使用Firefox連接到您的代理服務器,我假設您需要一個網絡代理服務器,如hidemyass.com

當您請求的Web代理的網頁,下面的事情發生順序如下:

  1. 您的計算機發送到Web代理服務器的請求。在這個請求中也是你想要加載的網站的地址;
  2. 代理打開您請求的網站。由於一個網站基本上只是一個數據文件,您可以使用一個簡單的功能打開它,例如file_get_contents()。或者,您可以使用CURL獲得更多選項和更好的性能。你將這些數據保存在一個變量中;
  3. 該代理已經獲得該網站,但無法向用戶顯示。由於幾乎每個網站都會加載其他文件(如樣式表,腳本,圖像或其他HTML文檔),因此您還需要使用代理加載這些文件,而不是用戶的Internet連接。實現這個最簡單(而不是水密)的方式可能是查找數據中的每個http://並將其替換爲對代理服務器的請求;
  4. 現在您已經將網站保存在服務器上的變量中,您只需將其顯示給用戶即可。你可以把它打印到屏幕上。只要確保將所需的文件傳遞給正確的標題即可!

請注意,這不會是完美的代理服務器:爲你的例子也需要(或完全禁用javascript,許多代理服務器做)支持HTTPS請求,並檢查AJAX請求。如果你只是想使用代理服務器,我建議你看一下現有的代理服務器(或者你鏈接到的Sourceforge項目的註釋,其中包含更好的替代方案的鏈接)。但如果你發現這是一個有趣的項目,祝你好運!

相關問題