2011-05-18 58 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将详细介绍更多。对于其他类型的代理,您需要提供一些反馈。