libcurl库的编译
终于弄懂了libcurl库的编译,记下来免得忘记。
下载地址:












注意,debug配置用libcurld.lib
3.2.2、加入预编译选项:项目->属性->c/c++ ->预处理器->预处理器,把 ;BUILDING_LIBCURL;HTTP_ONLY复制进去(注意不要丢了";")
#include<iostream>
#include<string>
#include"curl/curl.h"
using namespace std; class CurlAutoRelease
{
public:
CurlAutoRelease(){ p = curl_easy_init();}
~CurlAutoRelease(){ curl_easy_cleanup(p);}
CURL *GetPtr(){ return p;}
protected:
CURL* p;
}; UINT CurlWriteBuffer(char *buffer,UINT size,UINT nmemb,std::string* stream)
{
UINT sizes = size*nmemb;
if(stream == NULL) return ;
stream->append(buffer,sizes);
return sizes;
} int main()
{
curl_global_init(CURL_GLOBAL_DEFAULT); std::string szUrl("www.baidu.com");
std::string szContent(""); try
{
CurlAutoRelease curlAutoRelease;
CURL* curl = curlAutoRelease.GetPtr();
CURLcode res; std::string strResult;
{
curl_easy_setopt(curl,CURLOPT_URL,szUrl.c_str());
curl_easy_setopt(curl,CURLOPT_VERBOSE,); //打开调试
curl_easy_setopt(curl,CURLOPT_POSTFIELDS,szContent.c_str()); //post请求
curl_easy_setopt(curl,CURLOPT_POSTFIELDSIZE,szContent.length());
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,CurlWriteBuffer); //写回调
curl_easy_setopt(curl,CURLOPT_WRITEDATA,&strResult); //写存储
curl_easy_setopt(curl,CURLOPT_TIMEOUT,); //最长执行时间 res = curl_easy_perform(curl);
} if(res != CURLE_OK)
{
//投递Http requeset 失败
std::cout<<"投递Http请求失败!"<<std::endl;
return -;
}
else
{
std::cout<<strResult<<std::endl;
}
}
catch (...)
{
//出Exception
std::cout<<"HttpRqWorker::HandleTask出现了Exception!!"<<std::endl;
} curl_global_cleanup();
return ;
}
libcurl库的编译的更多相关文章
- libcurl库openssl编译
openssl编译 win32: perl Configure no-shared VC-WIN32 --prefix=E:/lib/openssl-1.1.1 linux: ./config -f ...
- C++ 用libcurl库进行http通讯网络编程
使用libcurl完成http通讯,很方便而且是线程安全,转载一篇比较好的入门文章 转载自 http://www.cnblogs.com/moodlxs/archive/2012/10/15/2724 ...
- C++ 用libcurl库进行http通讯网络编程(转)
转载:http://www.cnblogs.com/moodlxs/archive/2012/10/15/2724318.html 目录索引: 一.LibCurl基本编程框架 二.一些基本的函数 三. ...
- Cocos2d-x移植到WindowsPhone8移植问题-libcurl库移植问题
在Cocos2d-x 3.x最新版本中提供了Windows Phone 8平台移植libcurl库所需要的头文件和库文件.但要在Windows Phone 8平台成功移植libcurl库还是很不容易, ...
- Cocos开发中Visual Studio下libcurl库开发环境设置
我们介绍一下win32中Visual Studio下libcurl库开发环境设置.Cocos2d-x引擎其实已经带有为Win32下访问libcurl库,Cocos2d-x 3.x中libcurl库文件 ...
- C++ 用libcurl库进行http通讯网络编程[转]
http://www.cnblogs.com/moodlxs/archive/2012/10/15/2724318.html 目录索引: 一.LibCurl基本编程框架 二.一些基本的函数 三.cur ...
- C/C++ 用libcurl库进行http通讯网络编程
C/C++ 用libcurl库进行http通讯网络编程 目录索引: 一.LibCurl基本编程框架 二.一些基本的函数 三.curl_easy_setopt函数部分选项介绍 四.curl_easy_p ...
- C语言 HTTP上传文件-利用libcurl库上传文件
原文 http://justwinit.cn/post/7626/ 通常情况下,一般很少使用C语言来直接上传文件,但是遇到使用C语言编程实现文件上传时,该怎么做呢? 借助开源的libcurl库,我们 ...
- HTTP多线程下载+断点续传(libcurl库)
目录索引: 一.LibCurl基本编程框架 二.一些基本的函数 三.curl_easy_setopt函数部分选项介绍 四.curl_easy_perform 函数说明(error 状态码) 五.lib ...
随机推荐
- IDEA20181.4破解
1.下载破解补丁: http://idea.lanyus.com/jar/JetbrainsIdesCrack-4.2-release-sha1-3323d5d0b82e716609808090d3d ...
- Quartz.Net的使用(简单配置方法)定时任务框架
Quartz.dll 安装nuget在线获取dll包管理器,从中获取最新版 Quartz.Net是一个定时任务框架,可以实现异常灵活的定时任务,开发人员只要编写少量的代码就可以实现“每隔1小时执行”. ...
- IIS7 大文件上传 asp.net iis配置
IS6下上传大文件没有问题,但是迁移到IIS7下面,上传大文件时,出现HTTP 404错误. IIS配置上传大小,webconfig <!-- 配置允许上传大小 --><httpRu ...
- codechef The Ball And Cups题解
The Ball And Cups At the end of a busy day, The Chef and his assistants play a game together. The ga ...
- unity3d 版本控制场景合并。
Editor→ProjectSettings→Editor Version Control Mode 设置为 "Visible Meta Files" Asset Serializ ...
- Python 中的几种复制文件的用法
1. os.system Python code import os import tempfile filename1 = tempfile.mktemp (".txt") #产 ...
- js Object.is 相等判断
Object.is使用“Same-value equality”(同值相等)算法进行相等判断.它用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致. Object.is('foo', ...
- Sublime Text 包管理工具及扩展大全
Sublime Text 是程序员们公认的编码神奇,拥有漂亮的用户界面和强大的功能,例如代码缩略图,多重选择,快捷命令等.还可自定义键绑定,菜单和工具栏.Sublime Text 的主要功能包括:拼写 ...
- 使用Eclipse构建Maven项目 (step-by-step) (转收藏)
Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包.本文仅对Eclipse中如何安装.配置和使用Maven进行了介绍.完全step by step. 如果觉得本文 ...
- [bug]未能从程序集“System.ServiceModel, Version=3.0.0.0问题解决
在Windows Server 2008中的IIS服务器中部署WCF服务程序时,通过浏览器访问报出如下错误: 未能从程序集“System.ServiceModel, Version=3.0.0.0, ...