我用以下方法去获取服务器上的响应内容,为什么在有的电脑上没有问题,而有些电脑上通过抓包看只有第一次时往服务器发包了,后面再没有向服务器发送请求包。可是跟代码看走的流程都是一样的,获取到的响应内容一直是第一次返回的。POST方式也试过了,请问各位是什么原因?
DWORD dwType = 0;
CString cstrServer;
CString cstrObject;
CString cstrRecv;
INTERNET_PORT wPort = 0;
CHttpConnection* pConnection = NULL;
CHttpFile* pFile = NULL;
CInternetSession session;
BOOL bResult = FALSE;
char szBuf[1025] = {0};
CString cstrUrl = 请求URL;
try
{
bResult = AfxParseURL(cstrUrl, dwType, cstrServer, cstrObject, wPort);
if (!bResult)
return ;
DWORD dwTimeOut = 0;
session.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, 1000);
pConnection = session.GetHttpConnection(cstrServer, wPort);
if (NULL == pConnection)
return;
pFile = pConnection->OpenRequest(CHttpConnection::HTTP_VERB_GET, cstrObject);
if (NULL == pFile)
return;
if (!pFile->AddRequestHeaders(L"Cache-Control: no-cache"))
return;
if (!pFile->SendRequest())
return ;
DWORD dwStatusCode = 0 ;
pFile->QueryInfoStatusCode(dwStatusCode);
if (HTTP_STATUS_OK == dwStatusCode)
{
while(pFile->Read(szBuf, 1024) > 0)
{
cstrRecv += szBuf;
ZeroMemory(szBuf, 1025);
}
}
pFile->Close();
pConnection->Close();
session.Close();
}
catch (CInternetException* pEx)
{
LPTSTR aaaa;
pEx->GetErrorMessage(aaaa, MAX_PATH);
return;
}
------解决方案--------------------------------------------------------
查看缓存,cookie等
------解决方案--------------------------------------------------------
缓存,
网络不稳定,
防火墙,
杀毒软件,
都有可以影响到.
------解决方案--------------------------------------------------------
为什么在有的电脑上没有问题,而有些电脑上通过抓包看只有第一次时往服务器发包了
先保证电脑环境一样了再说.
也可以,电脑所连的路由器,作了网络端口限止什么的
------解决方案--------------------------------------------------------
该回复于2011-11-04 10:09:29被版主删除