读取网页内容保存到文件

CString GetHttpFileData(CString strUrl)
{
    CInternetSession Session(_T("Internet Explorer"), 0);
    CHttpFile *pHttpFile = NULL;
    CString strData;
    CString strClip;
    pHttpFile = (CHttpFile*)Session.OpenURL(strUrl);
    while (pHttpFile->ReadString(strClip))
    {
        char *pStr = (char *)strClip.GetBuffer(strClip.GetLength()); //取得str对象的原始字符串
        int nBufferSize = MultiByteToWideChar(CP_UTF8, 0, pStr, -1, NULL, 0); //取得所需缓存的多少
        wchar_t *pBuffer = (wchar_t*)malloc(nBufferSize * sizeof(wchar_t));//申请缓存空间
        MultiByteToWideChar(CP_UTF8, 0, pStr, -1, pBuffer, nBufferSize*sizeof(wchar_t));//转码
        //MessageBoxW(NULL, pBuffer, L"Text", MB_OK); //显示
        strClip.Format(_T("%s"), pBuffer);
        //AfxMessageBox(strClip);
        free(pBuffer); //释放缓存
        strData += strClip;
        strData += _T("\n");

    }
    return strData;
}

void CWuMaDlg::OnBnClickedButton1()
{
    // TODO:  在此添加控件通知处理程序代码
    CString csHtml;
    //csHtml=UTF8ToUnicode(GetHttpFileData(_T("http://www.baidu.com")));
    csHtml=GetHttpFileData(_T("http://www.taobao.com"));
    //AfxMessageBox(csHtml);
    CString pszFileName = _T("d://myfile.htm");

    CFile myFile;

    CFileException fileException;

    CFile cf;
    if (cf.Open(pszFileName, CFile::modeCreate | CFile::modeWrite))
    {
        int len = csHtml.GetLength();
            cf.Write(csHtml.GetBuffer(len), len);
        cf.Close();

        csHtml.ReleaseBuffer();

        AfxMessageBox(_T("保存成功"));
    }

}
时间: 2024-10-25 22:25:18

读取网页内容保存到文件的相关文章

java获取网页内容保存到文件

package com.mkyong;   import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.U

C#远程获取/读取网页内容

转载自 :http://blog.csdn.net/gisfarmer/article/details/2836904 using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO; namespace thief { class Program { static void Main(string[] args) { try { WebClient MyWe

在windows条件,Ping加上时间戳,并保存到文件

在windows条件,Ping加上时间戳,并保存到文件 转载:http://blog.csdn.net/byply/article/details/50628403 1.在D盘新建"ping.vbs"文件,输入如下代码: Dim args, flag, unsuccOut args="" otherout="" flag=0 If WScript.Arguments.count = 0 Then WScript.Echo "Usage:

jmeter 发送http请求,并把获取到的请求的订单信息保存到文件中

有一个任务,需要频繁发送订单请求,并分析订单请求中有没有存在重复订单号,思路是用jmeter 发送http请求,使用正则表达式获取到订单号,并把订单号和线程号作为参数提供给java请求,在java请求中把订单号写到包括有线程号的命名文件中.完成出来的样子是这样的 步骤如下: 1.Jmeter 发送http请求 1) 新建HTTP信息头管理器 2) 新建HTTP请求 2,在下单过后返回部分信息如下:"msg":"下单成功","result":&qu

linux kernel将关键信息保存到文件做法 很好的调试方法

linux kernel将关键信息保存到文件做法      很好的调试方法 下面有2个示例: 1:保存机器从开机到结束的VBATT: 2:保存uart接收到的数据到文件: 意义不多说了. 以下是代码: #include <linux/fs.h> #include <asm/uaccess.h> #include <asm/unaligned.h> static struct file *fp =NULL; int write_to_file (char *buf, in

php导出csv数据在浏览器中输出提供下载或保存到文件的示例

来源:http://www.jb51.net/article/49313.htm 1.在浏览器输出提供下载 /** * 导出数据到CSV文件 * @param array $data 数据 * @param array $title_arr 标题 * @param string $file_name CSV文件名 */ function export_csv(&$data, $title_arr, $file_name = '') { ini_set("max_execution_tim

Python学习笔记_Chapter 4数据保存到文件

1. What For 将基于内存的数据存储到磁盘上,达到持续存储. 2. HOW 方法一: 将数据写到文件中 常规的处理方式 1 #file.x被打开的文件,model打开文件的方式 2 out=open('file.x','model') 3 #print将item写入到file指示的文件中,item可以是字符串或列表等 4 print(item,file=out) 5 #close是必须的,起到刷新输出的作用 6 out.close() open('file','model')中model

读取网页内容不在出现乱码

有没有发现每次读取网页内容时,都要去找网页的编码类型,这次研究出来一个公共的方法,下次读取网页内容时 再不会出现乱码了. package package org.httpclient; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import o

谷歌浏览器修改CSS和js后同步保存到文件中 (译)

谷歌浏览器修改CSS和js后同步保存到文件中. 英文原文:http://www.stephensaw.me/google-chrome-devtools-source-maps/ 谷歌的Chrome DevTools源地图 谷歌的Chrome DevTools发展得越来越好,尤其是他们快速的Blink and V8的性能 ,而且他们使DevTools更好. 最近我发现,编辑源代码的正确的方式是使用源映射了Chrome DevTools. Source Maps 要验证源地图的开启,转至DevTo