ckhttp.h
来自「DES加密解密算法,西望大家共享.参考学习」· C头文件 代码 · 共 279 行
H
279 行
// CkHttp.h: interface for the CkHttp class.
//
//////////////////////////////////////////////////////////////////////
#ifndef _CKHTTP_H
#define _CKHTTP_H
#pragma once
#include "CkString.h"
class CkByteData;
/*
IMPORTANT: Objects returned by methods as non-const pointers must be deleted
by the calling application.
*/
#include "CkObject.h"
class CkHttpRequest;
class CkHttpResponse;
class CkHttpProgress;
class CkCert;
// CLASS: CkHttp
class CkHttp : public CkObject
{
private:
CkHttpProgress *m_callback;
void *m_impl;
bool m_utf8; // If true, all input "const char *" parameters are utf-8, otherwise they are ANSI strings.
// Don't allow assignment or copying these objects.
CkHttp(const CkHttp &) { }
CkHttp &operator=(const CkHttp &) { return *this; }
CkHttp(void *impl) : m_impl(impl),m_callback(0) { }
public:
void *getImpl(void) const { return m_impl; }
CkHttp();
virtual ~CkHttp();
CkHttpProgress *get_EventCallbackObject(void) const;
void put_EventCallbackObject(CkHttpProgress *progress);
// BEGIN PUBLIC INTERFACE
bool get_Utf8(void) const;
void put_Utf8(bool b);
bool UnlockComponent(const char *unlockCode);
bool IsUnlocked(void) const;
void get_Version(CkString &str);
long get_MaxConnections(void);
void put_MaxConnections(long n);
// Accumulate cookies here.
void put_CookieDir(const char *dir);
void get_CookieDir(CkString &str);
void put_SaveCookies(bool b);
bool get_SaveCookies(void);
void put_SendCookies(bool b);
bool get_SendCookies(void);
bool Download(const char *url, const char *filename);
// Fetch any kind of object (images, html, etc.)
bool QuickGet(const char *url, CkByteData &data);
// Fetch to HTML, XML, etc.
bool QuickGetStr(const char *url, CkString &str);
void SetSslClientCert(CkCert &cert);
// General request/response.
CkHttpResponse *SynchronousRequest(const char *domain, long port, bool ssl, const CkHttpRequest &req);
void get_LastHeader(CkString &str);
const char *lastHeader(void);
void put_Login(const char *v);
void get_Login(CkString &str);
void put_Password(const char *v);
void get_Password(CkString &str);
void put_NtlmAuth(bool b);
bool get_NtlmAuth(void);
long get_ProxyPort(void);
void put_ProxyPort(long n);
void put_ProxyDomain(const char *v);
void get_ProxyDomain(CkString &str);
void get_ProxyLogin(CkString &str);
void put_ProxyLogin(const char *newVal);
void get_ProxyPassword(CkString &str);
void put_ProxyPassword(const char *newVal);
const char *proxyLogin(void);
const char *proxyPassword(void);
const char *proxyDomain(void);
// These times are in milliseconds.
long get_HeartbeatMs(void);
void put_HeartbeatMs(long newVal);
// Manage request headers added for "QuickGet" methods.
void SetRequestHeader(const char *name, const char *value);
bool GetRequestHeader(const char *name, CkString &str);
bool HasRequestHeader(const char *name);
void RemoveRequestHeader(const char *name);
// For "QuickGet" URL fetches.
// UserAgent request header
void put_UserAgent(const char *v);
void get_UserAgent(CkString &str);
// For "QuickGet" URL fetches.
// Referer request header
void put_Referer(const char *v);
void get_Referer(CkString &str);
// Accept request header
void put_Accept(const char *v);
void get_Accept(CkString &str);
// AcceptCharset request header
void put_AcceptCharset(const char *v);
void get_AcceptCharset(CkString &str);
// AcceptLanguage request header
void put_AcceptLanguage(const char *v);
void get_AcceptLanguage(CkString &str);
// Connection request header field.
void put_Connection(const char *v);
void get_Connection(CkString &str);
// For "QuickGet" URL fetches.
long get_MaxUrlLen(void);
void put_MaxUrlLen(long n);
// For "QuickGet" URL fetches.
long get_MaxResponseSize(void);
void put_MaxResponseSize(long n);
// For "QuickGet" URL fetches.
void put_MimicIE(bool b);
bool get_MimicIE(void);
void put_MimicFireFox(bool b);
bool get_MimicFireFox(void);
// For all requests...
void put_AutoAddHostHeader(bool b);
bool get_AutoAddHostHeader(void);
long get_ConnectTimeout(void);
void put_ConnectTimeout(long numSeconds);
long get_ReadTimeout(void);
void put_ReadTimeout(long numSeconds);
void GetDomain(const char *url, CkString &str);
bool get_WasRedirected(void);
void get_FinalRedirectUrl(CkString &str);
void put_FollowRedirects(bool b);
bool get_FollowRedirects(void);
// Cache methods/properties.
// 0 = all files in the cache root(s).
// 1 = 256 subdirectories off cache roots
// 2 = 256x256 subdirs.
void put_NumCacheLevels(long v);
long get_NumCacheLevels(void);
// Setting/getting cache roots.
long get_NumCacheRoots(void);
bool GetCacheRoot(int index, CkString &str);
void AddCacheRoot(const char *dir);
// Cache Control properties.
bool get_UpdateCache(void);
void put_UpdateCache(bool b);
bool get_FetchFromCache(void);
void put_FetchFromCache(bool b);
bool get_IgnoreNoCache(void);
void put_IgnoreNoCache(bool b);
bool get_IgnoreMustRevalidate(void);
void put_IgnoreMustRevalidate(bool b);
// 1-week is default.
long get_DefaultFreshPeriod(void);
void put_DefaultFreshPeriod(long numMinutes);
// 0 = constant (use default freshness period)
// 1 = LM Factor
long get_FreshnessAlgorithm(void);
void put_FreshnessAlgorithm(long v);
// 1 - 100% (percentage of time between fetch-time and
// last-mod date used for the freshness period)
long get_LMFactor(void);
void put_LMFactor(long v);
long get_MaxFreshPeriod(void);
void put_MaxFreshPeriod(long numMinutes);
long get_MinFreshPeriod(void);
void put_MinFreshPeriod(long numMinutes);
void GetUrlPath(const char *url, CkString &str);
long get_LastStatus(void);
void get_LastContentType(CkString &strContentType);
void get_LastResponseHeader(CkString &strHeader);
// Get the last-mod date in format yyyy-mm-dd
void get_LastModDate(CkString &str);
// Error log retrieval and saving (these methods are common to all Chilkat VC++ classes.)
bool SaveLastError(const char *filename);
void LastErrorXml(CkString &str);
void LastErrorHtml(CkString &str);
void LastErrorText(CkString &str);
CkString m_resultString;
const char *lastErrorText(void);
const char *lastErrorXml(void);
const char *lastErrorHtml(void);
const char *version(void);
const char *cookieDir(void);
const char *quickGetStr(const char *url);
const char *password(void);
const char *login(void);
const char *getRequestHeader(const char *name);
const char *userAgent(void);
const char *referer(void);
const char *ck_accept(void);
const char *acceptCharset(void);
const char *acceptLanguage(void);
const char *connection(void);
const char *getDomain(const char *url);
const char *finalRedirectUrl(void);
const char *getCacheRoot(int index);
const char *getUrlPath(const char *url);
const char *lastContentType(void);
const char *lastResponseHeader(void);
const char *lastModDate(void);
// END PUBLIC INTERFACE
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?