• 大小: 8.67MB
    文件类型: .gz
    金币: 1
    下载: 0 次
    发布日期: 2023-10-08
  • 语言: 其他
  • 标签: libcurl  

资源简介

Windows下VS2015编译并使用libcurl.lib静态库1111111111

资源截图

代码片段和文件信息

// http_request.cpp : 定义控制台应用程序的入口点。
#include “stdafx.h“
#include “HttpRequest.h“
#include 
#include 

class DownCallbackClass
{
public:
DownCallbackClass() :m_down_finished(false) {}
~DownCallbackClass() {}
public:
void DownResultCallback(int id bool success const std::string& data)
{
m_down_finished = true;
}
int down_callback(double total_size double downloaded_size void* userdata)
{
long tmp = static_cast(downloaded_size / total_size * 100);
printf(“\r下载进度%d“ tmp);
return 0;
}
bool IsDownFinished(void) { return m_down_finished; }
private:
bool m_down_finished;
};

class MyResultClass
{
public:
MyResultClass() : m_request_finished(false) { }
~MyResultClass() { }

public:
void MyRequestResultCallback(int id bool success const std::string& data)
{
if (success)
{
std::ofstream outfile;
outfile.open(“baidu.html“ std::ios_base::binary | std::ios_base::trunc);
if (outfile.good()) outfile.write(data.c_str() data.size());
}
m_request_finished = true;
}
bool IsRequestFinish(void) { return m_request_finished; }
private:
bool m_request_finished;
};

int _tmain(int argc _TCHAR* argv[])
{
MyResultClass mc;

HttpRequest request;
request.SetRequestUrl(“http://www.biquge.com/21_21470“);
request.SetResultCallback(std::bind(&MyResultClass::MyRequestResultCallback &mc std::placeholders::_1 std::placeholders::_2 std::placeholders::_3));
request.SetRequestHeader(“User-Agent:Mozilla/4.04[en](Win95;I;Nav)“);

HANDLE hRequest = request.PerformRequest(HttpRequest::REQUEST_ASYNC);
if (hRequest)
{
while (mc.IsRequestFinish() == false) Sleep(300);
long http_code;
if (request.GetHttpCode(hRequest &http_code))
std::cout << “http code: “ << http_code << std::endl;

std::string header;
if (request.GetReceiveHeader(hRequest &header))
{
std::cout << header << std::endl;
}
std::string content;
if (request.GetReceiveContent(hRequest &content))
{
std::cout << content.substr(0500) << std::endl;
}

HttpRequest::Close(hRequest);
}

HttpDownloader download;
DownCallbackClass dc;
const char* down_url = “http://dlsw.baidu.com/sw-search-sp/soft/71/10998/OfflineBaiduPlayer_151_V4.1.2.263.1432003947.exe“;
const char* down_file = “BaiduPlayer.exe“;

download.SetDownloadUrl(down_url);
download.SetProgressCallback(std::bind(&DownCallbackClass::down_callback &dc std::placeholders::_1 std::placeholders::_2 std::placeholders::_3));
download.SetResultCallback(std::bind(&DownCallbackClass::DownResultCallback &dc std::placeholders::_1 std::placeholders::_2 std::placeholders::_3));
download.DownloadFile(down_file);
HANDLE hDownload = download.StartDownload(HttpDownloader::DOWN_ASYNC);
if (hDownload)
{
while (dc.IsDownFinished() == false)
{
Sleep(300);
}
//to do download finish clean up
HttpDownloader::Close(hDownload);
}
getchar();
return 0;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-03-29 11:12  libcurltest\
     目录           0  2018-03-29 09:45  libcurltest\.vs\
     目录           0  2018-03-29 09:45  libcurltest\.vs\libcurltest\
     目录           0  2018-03-29 09:45  libcurltest\.vs\libcurltest\v14\
     文件       37888  2018-03-29 11:10  libcurltest\.vs\libcurltest\v14\.suo
     目录           0  2018-03-29 09:53  libcurltest\include_curl\
     目录           0  2018-03-29 09:53  libcurltest\include_curl\curl\
     文件       95315  2016-12-19 15:27  libcurltest\include_curl\curl\curl.h
     文件       22393  2016-12-23 15:22  libcurltest\include_curl\curl\curlbuild.h
     文件        7456  2016-11-07 17:18  libcurltest\include_curl\curl\curlbuild.h.cmake
     文件        7145  2016-11-07 17:18  libcurltest\include_curl\curl\curlbuild.h.in
     文件        8936  2016-11-07 17:18  libcurltest\include_curl\curl\curlrules.h
     文件        3076  2016-12-23 15:22  libcurltest\include_curl\curl\curlver.h
     文件        3473  2016-12-19 15:27  libcurltest\include_curl\curl\easy.h
     文件        2182  2016-11-07 17:18  libcurltest\include_curl\curl\Makefile.am
     文件       22098  2016-12-22 06:38  libcurltest\include_curl\curl\Makefile.in
     文件        2071  2016-11-07 17:18  libcurltest\include_curl\curl\mprintf.h
     文件       16095  2016-11-07 17:18  libcurltest\include_curl\curl\multi.h
     文件        1329  2016-12-19 15:27  libcurltest\include_curl\curl\stdcheaders.h
     文件       38425  2016-12-19 15:27  libcurltest\include_curl\curl\typecheck-gcc.h
     文件          80  2016-11-07 17:18  libcurltest\include_curl\Makefile.am
     文件       21532  2016-12-22 06:38  libcurltest\include_curl\Makefile.in
     文件        2580  2016-12-19 15:27  libcurltest\include_curl\README
     目录           0  2018-03-29 11:12  libcurltest\libcurltest\
     文件        3039  2016-11-13 12:20  libcurltest\libcurltest\example.cpp
     文件       33405  2018-03-29 10:13  libcurltest\libcurltest\HttpRequest.cpp
     文件       10953  2018-03-29 10:12  libcurltest\libcurltest\HttpRequest.h
     文件        2033  2018-04-02 08:49  libcurltest\libcurltest\libcurltest.cpp
     文件        8538  2018-03-29 11:03  libcurltest\libcurltest\libcurltest.vcxproj
     文件        1506  2018-03-29 10:03  libcurltest\libcurltest\libcurltest.vcxproj.filters
     文件        1538  2018-03-29 09:45  libcurltest\libcurltest\ReadMe.txt
............此处省略7个文件信息

评论

共有 条评论