|
fastdo
0.6.16
|
CURL的HTTP协议封装,默认30秒超时 更多...
#include <http_HttpCUrl.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/xxx"时才可能有 更多... | |
| 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::mxNull, http::Header const &headers=http::Header()) |
| 以"application/x-www-form-urlencoded"数据格式发起HTTP POST请求 更多... | |
| bool | post (winux::String const &url, eiennet::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::AnsiString 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::AnsiString const &username) |
| 设置用户名 更多... | |
| void | setPassword (winux::AnsiString const &password) |
| 设置用户密码 更多... | |
| void | setPostFields (winux::AnsiString 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::AnsiString 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,使从静态成员函数传递到普通成员虚函数进行处理 更多... | |
| winux::AnsiString | getContentType () const |
| CURLINFO:获取ContentType。在perform()之后可调用 更多... | |
| 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秒超时
在文件 http_HttpCUrl.hpp 第 7 行定义.
| http::HttpCUrl::HttpCUrl | ( | ) |
|
virtual |
| winux::Buffer const& http::HttpCUrl::getResponse | ( | ) | const |
取得客户端响应数据
可能是二进制数据,因此以Buffer对象的引用方式返回,请按照字节缓冲区的方式处理它。
| char const* http::HttpCUrl::getResponseStr | ( | size_t * | size = NULL | ) | const |
取得客户端响应数据字符串指针
当数据确定是ANSI文本时可以使用这个方法
| size_t http::HttpCUrl::getResponseSize | ( | ) | const |
获取响应数据的大小(字节)
| winux::String http::HttpCUrl::getResponseContentType | ( | ) | const |
获取响应的Content-Type
| winux::String http::HttpCUrl::getResponseMime | ( | ) | const |
获取响应的MIME类型
| winux::String http::HttpCUrl::getResponseCharset | ( | ) | const |
获取响应的charset。只有当MIME为"text/xxx"时才可能有
| bool http::HttpCUrl::get | ( | winux::String const & | url, |
| http::Header const & | headers = http::Header() |
||
| ) |
发起HTTP GET请求
| bool http::HttpCUrl::post | ( | winux::String const & | url, |
| winux::Mixed const & | postVars = winux::mxNull, |
||
| http::Header const & | headers = http::Header() |
||
| ) |
以"application/x-www-form-urlencoded"数据格式发起HTTP POST请求
| bool http::HttpCUrl::post | ( | winux::String const & | url, |
| eiennet::PostMultipart const & | multipart, | ||
| http::Header const & | headers = http::Header() |
||
| ) |
以“multipart/formdata”数据格式发起HTTP POST请求
| bool http::HttpCUrl::post | ( | winux::String const & | url, |
| winux::String const & | contentType, | ||
| winux::AnsiString const & | postData, | ||
| http::Header const & | headers = http::Header() |
||
| ) |
以contentType数据格式发起HTTP POST请求
|
protectedvirtual |
重载 eiennet::CUrl .