首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

HTTP请求有关问题

2012-12-26 
HTTP请求问题我用以下方法去获取服务器上的响应内容,为什么在有的电脑上没有问题,而有些电脑上通过抓包看

HTTP请求问题
我用以下方法去获取服务器上的响应内容,为什么在有的电脑上没有问题,而有些电脑上通过抓包看只有第一次时往服务器发包了,后面再没有向服务器发送请求包。可是跟代码看走的流程都是一样的,获取到的响应内容一直是第一次返回的。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被版主删除

热点排行