我有一些PHP代碼,其中使用套接字在服務器和客戶端之間傳遞XML數據。 socket_create(AF_INET, SOCK_STREAM, SOL_TCP)
,socket_read()
,socket_write()
是用於傳遞XML而不是HTTP請求的函數。在PHP中使用代理與套接字
現在,如果我想使用客戶端的代理來連接到服務器,我怎麼能在PHP中做到這一點?
我是新來的套接字,從我收集到的信息中,存在這個庫https://github.com/clue/php-socks,目前我還沒有完全理解,但想法是使用相同的庫來設置中間人,這個庫本質上就是這種情況下的代理。我將如何使用從https://www.socks-proxy.net/獲得的SOCKS4/5代理或付費代理?上面提到的庫是唯一的選擇嗎?感覺像PHP應該已經內置了一些東西。
請指教。
1)由於PHP具有socket_ *函數,因此感覺PHP核心開發人員會考慮代理支持,並且不會將其忽略掉,除非他們有足夠的理由這樣做。 2)SOCKS代理,因爲我在這裏使用流(我不是嗎?)3)基於iptables或服務器將無法工作,因爲客戶端不是固定到一臺服務器,它必須是基於應用程序的。 任何你可以指向我的更多的研究或解決方案或直接的代碼示例? – Ashfame
我正在努力將意義與您的迴應聯繫起來。關於1)由於PHP支持套接字,因此您可以在PHP代碼中實現額外的網絡抽象,如您所引用的產品所示,而不是PHP代碼所示。 2)如果你的意思是說你沒有使用標準協議,如HTTP或SMTP ....那麼,是的,這不包括協議特定的代理,但不是所有其他重新路由流量的方式。我不知道你的意思3 – symcbean
1)我只是很難理解需要使用外部庫來支持代理,而curl具有內置的代理支持,但我想沒關係,如果這是唯一的路線。 2)SOCKS代理可以與任何協議一起工作,所以計算出它可以和我的用例一起工作3)這個代碼必須打包和分發,因此代理支持必須在應用程序本身中構建 – Ashfame