-
-
[求助]CInternetSession 多线程访问异常
-
发表于: 2009-3-6 21:17 23394
-
代码如下:
为什么单线程访问都正常,多线程访问时,会出来问题,有COOKIE验证,已经设置了
问题:如果访问的地址返回COOKIE的话,会出来二个同名的COOKIE,好像不正常关闭,导致下一次COOKIE访问无法正常访问到正常的网页,因为过不了COOKIE验证,而得不到正确的内容.....
单线程访问不会异常...不知道啥原因了!
使用同个函数访问不同地址(不同COOKIE),也会出来上面的问题,好像是连接没正常关闭,导致再一次访问时,会接到前次的访问一样,也出来二个同名不同值的COOKIE
CInternetSession DataReq(NULL,1,INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,INTERNET_FLAG_RELOAD); CHttpFile* DataFile= NULL; DataReq.SetCookie(OpenURL,L"",m); //COOKIE设置 DataFile=(CHttpFile*)DataReq.OpenURL(OpenURL,1,INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_RELOAD|INTERNET_FLAG_DONT_CACHE); DWORD dwStatusCode; DataFile->QueryInfoStatusCode(dwStatusCode); char szBuff[4096]; if(dwStatusCode == HTTP_STATUS_OK) { //代码下载 } DataFile-> Close(); delete DataFile; DataReq.Close(); delete DataReq;
为什么单线程访问都正常,多线程访问时,会出来问题,有COOKIE验证,已经设置了
问题:如果访问的地址返回COOKIE的话,会出来二个同名的COOKIE,好像不正常关闭,导致下一次COOKIE访问无法正常访问到正常的网页,因为过不了COOKIE验证,而得不到正确的内容.....
单线程访问不会异常...不知道啥原因了!
使用同个函数访问不同地址(不同COOKIE),也会出来上面的问题,好像是连接没正常关闭,导致再一次访问时,会接到前次的访问一样,也出来二个同名不同值的COOKIE
赞赏
赞赏
雪币:
留言: