fastdo  0.6.8
eiennet::HttpCUrl类 参考

CURL的HTTP协议封装,默认30秒超时 更多...

#include <eiennet_curl.hpp>

类 eiennet::HttpCUrl 继承关系图:
eiennet::HttpCUrl 的协作图:

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 ()
 
CUrloperator= (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.hpp219 行定义.

构造及析构函数说明

eiennet::HttpCUrl::HttpCUrl ( )
virtual 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文本时可以使用这个方法

virtual size_t eiennet::HttpCUrl::OnWrite ( char *  buf,
size_t  itemSize,
size_t  count 
)
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请求


该类的文档由以下文件生成: