VC中使用CInternetSession抓取网页内容
2009-02-20 06:37
405 查看
在 VC 中用 WinInet 的 CInternetSession::OpenURL(url),得到一个 CFile,读取其中的内容即可,详细代码如下
#include <stdio.h>
#include <afxinet.h>
int main(int argc, char* argv[])
{
CInternetSession session("HttpClient");
char * url = " http://www.imobile.com.cn/simcard.php?simcard=1392658";
CHttpFile* pfile = (CHttpFile *)session.OpenURL(url);
DWORD dwStatusCode;
pfile -> QueryInfoStatusCode(dwStatusCode);
if(dwStatusCode == HTTP_STATUS_OK)
{
CString content;
CString data;
while (pfile -> ReadString(data))
{
content += data + "/r/n";
}
content.TrimRight();
printf(" %s/n " ,(LPCTSTR)content);
}
pfile -> Close();
delete pfile;
session.Close();
return 0 ;
}
其他如不从缓存中读取内容及如何使用代理连接现在就不说了,可以参考下面的链接,或者下次补上。另外不妨看看 Java 是如何读取 URL 内容的,更简单
GetMethod httpMethod = new GetMethod("http://unmi.blogcn.com");
int statusCode = new HttpClient().executeMethod(httpMethod);
if(statusCode == HttpStatus.SC_OK)
{
System.out.println(httpMethod.getResponseBodyAsString());
}
httpMethod.releaseConnection();
内容取过来之后,总是希望从中拣出需要的数据,可惜 VC6 中没有自己的正则表达式库,所以下一步要学用 boost 的正则表达式库。
参考链接:1. VC++6.0 通过HTTP方式获取网页
2. CInternetSession获取网页内容的问题
3. 利用CInternetSession从网站获取信息,并利用CString拆分查找特定信息
From: http://www.blogjava.net/Unmi/archive/2007/06/23/125961.html
#include <stdio.h>
#include <afxinet.h>
int main(int argc, char* argv[])
{
CInternetSession session("HttpClient");
char * url = " http://www.imobile.com.cn/simcard.php?simcard=1392658";
CHttpFile* pfile = (CHttpFile *)session.OpenURL(url);
DWORD dwStatusCode;
pfile -> QueryInfoStatusCode(dwStatusCode);
if(dwStatusCode == HTTP_STATUS_OK)
{
CString content;
CString data;
while (pfile -> ReadString(data))
{
content += data + "/r/n";
}
content.TrimRight();
printf(" %s/n " ,(LPCTSTR)content);
}
pfile -> Close();
delete pfile;
session.Close();
return 0 ;
}
#include <stdio.h> #include <afxinet.h> int main(int argc, char* argv[]) { CInternetSession session("HttpClient"); char * url = " http://www.imobile.com.cn/simcard.php?simcard=1392658"; CHttpFile* pfile = (CHttpFile *)session.OpenURL(url); DWORD dwStatusCode; pfile -> QueryInfoStatusCode(dwStatusCode); if(dwStatusCode == HTTP_STATUS_OK) { CString content; CString data; while (pfile -> ReadString(data)) { content += data + "/r/n"; } content.TrimRight(); printf(" %s/n " ,(LPCTSTR)content); } pfile -> Close(); delete pfile; session.Close(); return 0 ; }
其他如不从缓存中读取内容及如何使用代理连接现在就不说了,可以参考下面的链接,或者下次补上。另外不妨看看 Java 是如何读取 URL 内容的,更简单
GetMethod httpMethod = new GetMethod("http://unmi.blogcn.com");
int statusCode = new HttpClient().executeMethod(httpMethod);
if(statusCode == HttpStatus.SC_OK)
{
System.out.println(httpMethod.getResponseBodyAsString());
}
httpMethod.releaseConnection();
GetMethod httpMethod = new GetMethod("http://unmi.blogcn.com"); int statusCode = new HttpClient().executeMethod(httpMethod); if(statusCode == HttpStatus.SC_OK) { System.out.println(httpMethod.getResponseBodyAsString()); } httpMethod.releaseConnection();
内容取过来之后,总是希望从中拣出需要的数据,可惜 VC6 中没有自己的正则表达式库,所以下一步要学用 boost 的正则表达式库。
参考链接:1. VC++6.0 通过HTTP方式获取网页
2. CInternetSession获取网页内容的问题
3. 利用CInternetSession从网站获取信息,并利用CString拆分查找特定信息
From: http://www.blogjava.net/Unmi/archive/2007/06/23/125961.html
相关文章推荐
- VC中使用CInternetSession抓取网页内容
- VC中使用CInternetSession抓取网页内容
- 使用CInternetSession和CHttpFile读取网页内容
- 使用CInternetSession 获取网页内容。。。解决了ReadString时的乱码
- 使用CInternetSession 获取网页内容。。。解决了ReadString时的乱码
- 使用CInternetSession和CHttpFile读取网页内容
- 使用CInternetSession和CHttpFile读取网页内容
- 求助,如何使用Python3 抓取ASPX网站中翻页URL不改变的网页内容呢?求指导!谢谢!
- 使用CInternetSession和CHttpFile提取网页源码
- 使用socket实现网页内容抓取
- python 使用 urllib2 抓取网页内容
- JAVA使用爬虫抓取网站网页内容
- 萌新的Python学习日记 - 爬虫无影 - 使用BeautifulSoup + css selector 抓取自己想要网页内容
- java爬虫(使用jsoup设置代理,抓取网页内容)
- HttpUnit 使用示例 抓取网页内容
- JSP学习笔记(七十五):使用HttpClient远程抓取网页内容
- 使用PHP简单网页抓取和内容分析
- JAVA使用爬虫抓取网站网页内容的方法
- 零基础写python爬虫之使用urllib2组件抓取网页内容
- 如何通过VC的 CHttpFile 抓取网页内容