客户端透过公司HTTP代理服务器,访问具有公网IP地址的服务器!该如何解决
客户端透过公司HTTP代理服务器,访问具有公网IP地址的服务器!
我需要实现的功能:
我设计的客户端在公司内网的机器上,IP是:10.180.19.209;
公司的机器是通过公司的HTTP代理服务器访问外网的,
这个代理的内网地址是:10.180.16.87:8080;外网地址是:218.79.97.80:8080;
我要连的这个服务器端的监听地址是:222.66.107.159:800。
现在我的客户端需要连接到这个服务器端,然后向服务器端发送文件!
我写了一些代码后,有了如下很多问题:
1,公司的代理服务器是HTTP类型的,也就是说这个代理服务器只支持内网发起的HTTP协议的连接请求:
那么什么是HTTP协议的连接请求?
通过判断内网发起请求的哪些信息来判断此连接是否符合HTTP协议?
我在客户端向服务器发送文件,这个属于HTTP协议的连接吗?
2,我从网上查了一下HTTP代理服务的使用方法,并学着网上的代码写了一个连接服务器的代码,连接部分代码如下,大体过程是:
** 先连接代理服务器
** 然后发消息告诉代理我要连接的外部地址
sockaddr_in local;
//建套接字
SOCKET m_socket;
//初使化服务器地址
local.sin_family=AF_INET;
local.sin_port=htons(8080);
local.sin_addr.S_un.S_addr=inet_addr( "10.180.16.87 ");
m_socket=socket(AF_INET,SOCK_STREAM,0);
int ret;
//联接代理服务器
ret=connect(m_socket,(LPSOCKADDR)&local,sizeof(local));
//有错的话
if(ret!=0)
{
AfxMessageBox( "联接错误 ");
temp-> status=-2;
closesocket(m_socket);
return -1;
}
AfxMessageBox( "连接代理服务器成功 ");
我需要实现的功能:
我设计的客户端在公司内网的机器上,IP是:10.180.19.209;
公司的机器是通过公司的HTTP代理服务器访问外网的,
这个代理的内网地址是:10.180.16.87:8080;外网地址是:218.79.97.80:8080;
我要连的这个服务器端的监听地址是:222.66.107.159:800。
现在我的客户端需要连接到这个服务器端,然后向服务器端发送文件!
我写了一些代码后,有了如下很多问题:
1,公司的代理服务器是HTTP类型的,也就是说这个代理服务器只支持内网发起的HTTP协议的连接请求:
那么什么是HTTP协议的连接请求?
通过判断内网发起请求的哪些信息来判断此连接是否符合HTTP协议?
我在客户端向服务器发送文件,这个属于HTTP协议的连接吗?
2,我从网上查了一下HTTP代理服务的使用方法,并学着网上的代码写了一个连接服务器的代码,连接部分代码如下,大体过程是:
** 先连接代理服务器
** 然后发消息告诉代理我要连接的外部地址
sockaddr_in local;
//建套接字
SOCKET m_socket;
//初使化服务器地址
local.sin_family=AF_INET;
local.sin_port=htons(8080);
local.sin_addr.S_un.S_addr=inet_addr( "10.180.16.87 ");
m_socket=socket(AF_INET,SOCK_STREAM,0);
int ret;
//联接代理服务器
ret=connect(m_socket,(LPSOCKADDR)&local,sizeof(local));
//有错的话
if(ret!=0)
{
AfxMessageBox( "联接错误 ");
temp-> status=-2;
closesocket(m_socket);
return -1;
}
AfxMessageBox( "连接代理服务器成功 ");