请帮改一下
buf改成CString的,一次装下html,另外生成的txt里有黑方块
下面是我从之前一位朋友那抄来的,加了些容错,请帮加个循环,外层下载html到CString搜索资源(swf)地址,里面再次OpenUrl批量下载,都要在这一个程序里完成,有没有乐意改的,谢谢
我在家用猫上网,就一台机器,xp,IE8
FILE *fp; BYTE buf[2048]; DWORD dwBytesRead=1; HINTERNET hInternet1=InternetOpen("RookIE/1.0",INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0); if(!hInternet1) {InternetCloseHandle(hInternet1);return;} HINTERNET hInternet2=InternetOpenUrl(hInternet1,"http://www.baidu.com",NULL,0,INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_PRAGMA_NOCACHE,0); if(!hInternet2) {InternetCloseHandle(hInternet2);return;} if( (fp=fopen("F:\\x.txt","wb"))==NULL ) { MessageBox("cannot open the file"); InternetCloseHandle(hInternet1);InternetCloseHandle(hInternet2);return; } while(dwBytesRead) { if( !InternetReadFile(hInternet2,buf,sizeof(buf),&dwBytesRead) ) { CString cs; cs.Format("InternetReadFile error:%d",GetLastError()); MessageBox(cs); InternetCloseHandle(hInternet1);InternetCloseHandle(hInternet2);return; } fwrite(buf,dwBytesRead,1,fp); } fclose(fp); InternetCloseHandle(hInternet1);InternetCloseHandle(hInternet2);
#include <iostream.h>#include <string.h>#include <afx.h>#include <afxinet.h>int main() { CInternetSession sess(_TEXT("")); CHttpFile* file = (CHttpFile*)sess.OpenURL(_TEXT("http://www.baidu.com")); CString str; while (file->ReadString(str)) { cout << str.GetBuffer(0) << endl; } file->Close(); cin.get(); return 0;}