void CExam8Dlg::OnInitialButton()
{
INTERNET_PROXY_INFO proxyinfo;
proxyinfo.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
proxyinfo.lpszProxy=tw[ll];
proxyinfo.lpszProxyBypass = NULL;
m_keyword_list.ResetContent();
content.Empty();
try
{
//CInternetSession session("HttpClient");
CInternetSession session;
CHttpFile* pfile ;
DWORD dwStatusCode;
CString data;
do
{
while(!session.SetOption(INTERNET_OPTION_PROXY,(LPVOID)&proxyinfo,sizeof(INTERNET_PROXY_INFO))) //设置代理服务器
{
ll++;
if(ll>4)
ll=0;
proxyinfo.lpszProxy=tw[ll];
::MessageBox(NULL, tw[ll], NULL, MB_OK);
} m_rank_list.AddString("通过代理访问目标页面");//通过代理访问目标页面
pfile= (CHttpFile *)session.OpenURL(entry_url);
pfile -> QueryInfoStatusCode(dwStatusCode);
if(dwStatusCode == HTTP_STATUS_OK)
{
m_rank_list.AddString("开始读取目标页面内容");//开始读取目标页面内容
while (pfile -> ReadString(data))
{
content += data + "\r\n";
}
content.TrimRight();
m_rank_list.AddString("读取成功");//读取成功
}
else
{
Sleep(50000);
save_keyword=load_keyword();
save_keyword.TrimLeft();
save_keyword.TrimRight();
entry_url.Format(url);
}
}while(dwStatusCode != HTTP_STATUS_OK);
pfile -> Close();
delete pfile;
session.Close();
}
catch(_com_error *e)
{
CString errormessage;
errormessage.Format("打开URL失败!\r\n错误信息:%s",e->ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
ll++;
if(ll>4)
ll=0;...
...
....现在的情况是 如果代理服务器不可用的话程序就会死掉,如何判断代理服务器是否可用呢?或者说 如果代理服务器不可用 自动更换代理服务器,请问 怎么实现?
{
INTERNET_PROXY_INFO proxyinfo;
proxyinfo.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
proxyinfo.lpszProxy=tw[ll];
proxyinfo.lpszProxyBypass = NULL;
m_keyword_list.ResetContent();
content.Empty();
try
{
//CInternetSession session("HttpClient");
CInternetSession session;
CHttpFile* pfile ;
DWORD dwStatusCode;
CString data;
do
{
while(!session.SetOption(INTERNET_OPTION_PROXY,(LPVOID)&proxyinfo,sizeof(INTERNET_PROXY_INFO))) //设置代理服务器
{
ll++;
if(ll>4)
ll=0;
proxyinfo.lpszProxy=tw[ll];
::MessageBox(NULL, tw[ll], NULL, MB_OK);
} m_rank_list.AddString("通过代理访问目标页面");//通过代理访问目标页面
pfile= (CHttpFile *)session.OpenURL(entry_url);
pfile -> QueryInfoStatusCode(dwStatusCode);
if(dwStatusCode == HTTP_STATUS_OK)
{
m_rank_list.AddString("开始读取目标页面内容");//开始读取目标页面内容
while (pfile -> ReadString(data))
{
content += data + "\r\n";
}
content.TrimRight();
m_rank_list.AddString("读取成功");//读取成功
}
else
{
Sleep(50000);
save_keyword=load_keyword();
save_keyword.TrimLeft();
save_keyword.TrimRight();
entry_url.Format(url);
}
}while(dwStatusCode != HTTP_STATUS_OK);
pfile -> Close();
delete pfile;
session.Close();
}
catch(_com_error *e)
{
CString errormessage;
errormessage.Format("打开URL失败!\r\n错误信息:%s",e->ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
ll++;
if(ll>4)
ll=0;...
...
....现在的情况是 如果代理服务器不可用的话程序就会死掉,如何判断代理服务器是否可用呢?或者说 如果代理服务器不可用 自动更换代理服务器,请问 怎么实现?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货