CString GetHttpPageContents(CString strURL, INTERNET_PORT nPort = 80)//读取指定网页上文本
{
//需要#include <afxinet.h>
//参数:strURL——文本网址字符串;nPort——网卡接口,默认为80
CInternetSession session(_T(“My Session”));
CHttpConnection* pServer = NULL;
CHttpFile* pFile = NULL;
CString cs = _T("");
CString strServerName;
int i = strURL.Find(_T("//"), 0);
i = strURL.Find(_T("/"), i + 2);
strServerName += strURL.Left(i);
strURL.Replace(strServerName, _T(""));
strServerName.Replace(_T(“http://”), _T(""));
pServer = session.GetHttpConnection(strServerName, nPort);
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET, strURL);//打开请求
if (pFile->SendRequest() == TRUE)//向服务器发送URL请求,返回服务器响应,返回值为BOOL型,成功返回TRUE
//失败会返回提示消息
{
char szBuff[1024];
DWORD dwRet;
pFile->QueryInfoStatusCode(dwRet);
if (dwRet == HTTP_STATUS_OK)
{
UINT nRead = pFile->Read(szBuff, 1023);
while (nRead > 0)
{
cs += szBuff;
nRead = pFile->Read(szBuff, 1023);
}
}
}
delete pFile,pServer; session.Close();
return(cs);
//应用例子:CString str = GetHttpPageContents(_T(“http://hq.sinajs.cn/list=sh600540”));//注意http://必须是小写
}
用法:作为外部函数使用,放在被调用之前
读取指定网页上文本函数
最新推荐文章于 2022-05-20 14:13:11 发布