fastdo
0.6.8
|
CURL的HTTP协议封装,默认30秒超时 更多...
#include <eiennet_curl.hpp>
Public 成员函数 | |
HttpCUrl () | |
virtual | ~HttpCUrl () |
winux::Buffer const & | getResponse () const |
取得客户端响应数据 更多... | |
char const * | getResponseStr (size_t *size=NULL) const |
取得客户端响应数据字符串指针 更多... | |
size_t | getResponseSize () const |
获取响应数据的大小(字节) 更多... | |
winux::String | getResponseContentType () const |
获取响应的Content-Type 更多... | |
winux::String | getResponseMime () const |
获取响应的MIME类型 更多... | |
winux::String | getResponseCharset () const |
获取响应的charset。只有当MIME为"text/*"时才可能有 更多... | |
bool | get (winux::String const &url, http::Header const &headers=http::Header()) |
发起HTTP GET请求 更多... | |
bool | post (winux::String const &url, winux::Mixed const &postVars=winux::Mixed(), http::Header const &headers=http::Header()) |
以"application/x-www-form-urlencoded"数据格式发起HTTP POST请求 更多... | |
bool | post (winux::String const &url, PostMultipart const &multipart, http::Header const &headers=http::Header()) |
以“multipart/formdata”数据格式发起HTTP POST请求 更多... | |
bool | post (winux::String const &url, winux::String const &contentType, winux::AnsiString const &postData, http::Header const &headers=http::Header()) |
以contentType数据格式发起HTTP POST请求 更多... | |
Public 成员函数 继承自 eiennet::CUrl | |
CUrl (bool isInit=true) | |
isInit为true将自动调用init(),否则不调用。 更多... | |
CUrl (CUrl const &other) | |
virtual | ~CUrl () |
CUrl & | operator= (CUrl const &other) |
释放清理自身curl,复制其他curl,并且拷贝选项设置,并设置自己的一些选项:譬如回调函数对象指针 更多... | |
void | init () |
初始化curl 更多... | |
void | cleanup () |
释放清理curl 更多... | |
bool | perform () |
执行操作 更多... | |
void | reset () |
复位各选项 更多... | |
void | setHttpGet (bool b=true) |
设置成http GET请求方式。也可用于把curl恢复成使用GET的状态。 更多... | |
void | setHttpPost (bool b=true) |
设置成http POST请求方式 更多... | |
void | setUrl (winux::String const &url) |
设置URL,url包含scheme信息 更多... | |
void | setTimeout (winux::ulong timeout) |
设置超时秒数 更多... | |
void | setErrorBuffer (char *errBuf) |
设定错误信息缓冲区,缓冲区大小必须是CURL_ERROR_SIZE=256 更多... | |
void | setNoProgress (bool b) |
是否关闭进度功能,默认关闭 更多... | |
void | setUsername (winux::String const &username) |
设置用户名 更多... | |
void | setPassword (winux::String const &password) |
设置用户密码 更多... | |
void | setPostFields (winux::String const &data) |
设置Post数据 更多... | |
void | setPostFieldSize (long size) |
设置Post数据长度 更多... | |
void | setPostMultipart (PostMultipart const &data) |
设置Post多部分数据 更多... | |
void | setHttpHeader (SList const &headers) |
设置HTTP头 更多... | |
void | setVerbose (bool b) |
是否显示详细信息,默认不显示 更多... | |
void | setCookieJar (winux::String const &filename) |
设置Cookies写入文件 更多... | |
void | setSslVerifyPeer (bool b) |
决定是否验证对等方证书的真实性 更多... | |
void | setSslVerifyHost (bool b) |
决定是否验证服务器证书适用于所谓的服务器 更多... | |
void | setWriteHandler (WriteFunction handler) |
设置'写'处理函数,默认已设为WriteCallback() 更多... | |
void | setWriteHandlerData (void *data) |
设置'写'处理函数的自定义参数,默认设为this,使从静态成员函数传递到普通成员虚函数进行处理 更多... | |
void | setReadHandler (ReadFunction handler) |
设置'读'处理函数,默认已设为WriteCallback() 更多... | |
void | setReadHandlerData (void *data) |
设置'读'处理函数的自定义参数,默认设为this,使从静态成员函数传递到普通成员虚函数进行处理 更多... | |
void | setHeaderHandler (HeaderFunction handler) |
设置'取头部'处理函数,默认已设为WriteCallback() 更多... | |
void | setHeaderHandlerData (void *data) |
设置'取头部'处理函数的自定义参数,默认设为this,使从静态成员函数传递到普通成员虚函数进行处理 更多... | |
void | setProgressHandler (ProgressFunction handler) |
设置'进度'处理函数,默认已设为WriteCallback() 更多... | |
void | setProgressHandlerData (void *data) |
设置'进度'处理函数的自定义参数,默认设为this,使从静态成员函数传递到普通成员虚函数进行处理 更多... | |
operator CURL * () const | |
int | errNo () const |
执行后得到的错误码(CURLcode) 更多... | |
char const * | errNoStr () const |
执行后得到的错误码字符串 更多... | |
char const * | error () const |
从错误缓冲区取得错误信息 更多... | |
Protected 成员函数 | |
virtual size_t | OnWrite (char *buf, size_t itemSize, size_t count) |
Protected 成员函数 继承自 eiennet::CUrl | |
virtual size_t | OnRead (char *buf, size_t itemSize, size_t count) |
virtual size_t | OnHeader (char *buf, size_t itemSize, size_t count) |
virtual int | OnDownloadProgress (double dltotal, double dlnow) |
virtual int | OnUploadProgress (double ultotal, double ulnow) |
额外继承的成员函数 | |
Public 类型 继承自 eiennet::CUrl | |
typedef size_t(* | WriteFunction) (char *buf, size_t itemSize, size_t count, void *data) |
typedef size_t(* | ReadFunction) (char *buf, size_t itemSize, size_t count, void *data) |
typedef size_t(* | HeaderFunction) (char *buf, size_t itemSize, size_t count, void *data) |
typedef int(* | ProgressFunction) (void *data, double dltotal, double dlnow, double ultotal, double ulnow) |
静态 Protected 成员函数 继承自 eiennet::CUrl | |
static size_t | WriteCallback (char *buf, size_t itemSize, size_t count, void *data) |
static size_t | ReadCallback (char *buf, size_t itemSize, size_t count, void *data) |
static size_t | HeaderCallback (char *buf, size_t itemSize, size_t count, void *data) |
static int | ProgressCallback (void *data, double dltotal, double dlnow, double ultotal, double ulnow) |
Protected 属性 继承自 eiennet::CUrl | |
CURL * | _curl |
int | _errNo |
CURLcode. 更多... | |
winux::AnsiString | _errBuf |
CURL的HTTP协议封装,默认30秒超时
在文件 eiennet_curl.hpp 第 219 行定义.
eiennet::HttpCUrl::HttpCUrl | ( | ) |
|
virtual |
bool eiennet::HttpCUrl::get | ( | winux::String const & | url, |
http::Header const & | headers = http::Header() |
||
) |
发起HTTP GET请求
winux::Buffer const& eiennet::HttpCUrl::getResponse | ( | ) | const |
取得客户端响应数据
可能是二进制数据,因此以Buffer对象的引用方式返回,请按照字节缓冲区的方式处理它。
winux::String eiennet::HttpCUrl::getResponseCharset | ( | ) | const |
获取响应的charset。只有当MIME为"text/*"时才可能有
winux::String eiennet::HttpCUrl::getResponseContentType | ( | ) | const |
获取响应的Content-Type
winux::String eiennet::HttpCUrl::getResponseMime | ( | ) | const |
获取响应的MIME类型
size_t eiennet::HttpCUrl::getResponseSize | ( | ) | const |
获取响应数据的大小(字节)
char const* eiennet::HttpCUrl::getResponseStr | ( | size_t * | size = NULL | ) | const |
取得客户端响应数据字符串指针
当数据确定是ANSI文本时可以使用这个方法
|
protectedvirtual |
重载 eiennet::CUrl .
bool eiennet::HttpCUrl::post | ( | winux::String const & | url, |
winux::Mixed const & | postVars = winux::Mixed() , |
||
http::Header const & | headers = http::Header() |
||
) |
以"application/x-www-form-urlencoded"数据格式发起HTTP POST请求
bool eiennet::HttpCUrl::post | ( | winux::String const & | url, |
PostMultipart const & | multipart, | ||
http::Header const & | headers = http::Header() |
||
) |
以“multipart/formdata”数据格式发起HTTP POST请求
bool eiennet::HttpCUrl::post | ( | winux::String const & | url, |
winux::String const & | contentType, | ||
winux::AnsiString const & | postData, | ||
http::Header const & | headers = http::Header() |
||
) |
以contentType数据格式发起HTTP POST请求