2011-05-18 46 views
1
// try to connect to server 
if ((Status = connect(sock_server, &serverSockAddr, sizeof(serverSockAddr))) < 0) 
{ 
    SockSend(sock_client, "404 Host Not Found\n\n", 20); 
    SockClose(sock_client); 
    return 1; 
} 

// send client's req to server 
SockSend(sock_server, buf, strlen(buf)); 

以上是代碼connect到遠程服務器沒有代理,我該怎麼辦呢代理?如何在win32 API中使用代理連接到遠程服務器?

回答

0

InternetOpen函數允許指定代理。接下來可以調用InternetConnect功能。 InternetConnect爲您提供一小部分要連接的服務器端口。我沒有辦法在服務器上達到任意端口號。

0

對這種類型的東西使用Winsock API幾乎從來都不是正確的選擇。使用WinHTTP或WinINET是一種更簡單的方法,並且可以避免編寫數千行代碼。

0

我假設HTTP代理。

您連接到代理,然後發出GET或任何您想要做的HTTP。您需要確保GET具有域+資源像

GET stackoverflow.com/ HTTP/1.0 
Host: stackoverflow.com 

RFC文檔的HTTP 1.0和1.1將詳細介紹更多。對於其他類型的代理,您需要提供一些反饋。