⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 auhttp.hpp

📁 利用AutoUpgrader可在delphi环境下快速开发自动更新程式
💻 HPP
📖 第 1 页 / 共 2 页
字号:
	TauHTTPRequestMethod FRequestMethod;
	TauHTTPProxy* FProxy;
	bool FShowGoOnlineMessage;
	bool FWorkOffline;
	void *FData;
	TauHTTPBeforeSendRequest FOnBeforeSendRequest;
	TauHTTPHeaderInfoEvent FOnHeaderInfo;
	TauHTTPDoneEvent FOnDone;
	Classes::TNotifyEvent FOnDoneInterrupted;
	TauHTTPProgressEvent FOnProgress;
	TauHTTPStatusChanged FOnStatusChanged;
	TauHTTPRedirected FOnRedirected;
	TauHTTPUploadProgressEvent FOnUploadProgress;
	TauHTTPUploadFieldRequest FOnUploadFieldRequest;
	Classes::TNotifyEvent FOnAnyError;
	Classes::TNotifyEvent FOnAborted;
	TauHTTPConnLostEvent FOnConnLost;
	Classes::TNotifyEvent FOnHostUnreachable;
	TauHTTPErrorEvent FOnHTTPError;
	Classes::TNotifyEvent FOnOutputFileError;
	TauHTTPPasswordRequestEvent FOnPasswordRequest;
	TauHTTPProxyAuthenticationEvent FOnProxyAuthenticationRequest;
	Authread::TauThreadWaitTimeoutExpired FOnWaitTimeoutExpired;
	bool FBusy;
	bool FRealBusy;
	Authread::TauCustomThread* FThread;
	Classes::TStream* HTTPStream;
	bool HTTPSuccess;
	bool HTTPTryAgain;
	bool HTTPOutputToFile;
	bool HTTPContinueDownload;
	bool HTTPDeleteOutputFileOnAbort;
	void *HTTPData;
	unsigned HTTPFileSize;
	unsigned HTTPBytesTransferred;
	unsigned HTTPStartTime;
	unsigned HTTPInitStartRange;
	unsigned HTTPInitEndRange;
	AnsiString HTTPUploadRequestHeader;
	void *hSession;
	void *hConnect;
	void *hRequest;
	unsigned hFile;
	void __fastcall SetAddHeaders(Classes::TStrings* Value);
	bool __fastcall GetSuspended(void);
	void __fastcall SetSuspended(bool Value);
	Classes::TThreadPriority __fastcall GetThreadPriority(void);
	void __fastcall SetThreadPriority(Classes::TThreadPriority Value);
	bool __fastcall GetWaitThread(void);
	void __fastcall SetWaitThread(bool Value);
	int __fastcall GetWaitTimeout(void);
	void __fastcall SetWaitTimeout(int Value);
	bool __fastcall GetThreadBusy(void);
	bool __fastcall GetFreeOnTerminate(void);
	void __fastcall SetFreeOnTerminate(bool Value);
	AnsiString __fastcall GetFileName();
	AnsiString __fastcall GetHostName();
	bool __fastcall IsNotDefaultAcceptTypes(void);
	void __fastcall PrepareProgressParams(void);
	void __fastcall CloseHTTPHandles(void);
	void __fastcall AbortAndReleaseStreams(void);
	void __fastcall ThreadExecute(System::TObject* Sender);
	void __fastcall ThreadException(System::TObject* Sender);
	void __fastcall ThreadDone(System::TObject* Sender);
	void __fastcall ThreadWaitTimeoutExpired(System::TObject* Sender, bool &TerminateThread);
	void __fastcall CallAborted(void);
	void __fastcall CallHeaderInfo(void);
	void __fastcall CallProgress(void);
	void __fastcall CallUploadProgress(void);
	void __fastcall CallPasswordRequest(void);
	void __fastcall CallProxyAuthenticationRequest(void);
	
protected:
	AnsiString HTTPRawHeadersCRLF;
	AnsiString HTTPContentType;
	AnsiString HTTPContentLanguage;
	AnsiString HTTPContentEncoding;
	AnsiString HTTPLocation;
	AnsiString HTTPETag;
	System::TDateTime HTTPDate;
	System::TDateTime HTTPLastModified;
	System::TDateTime HTTPExpires;
	Byte ProgressPercentsDone;
	unsigned ProgressElapsedTime;
	unsigned ProgressEstimatedTime;
	float ProgressTransferRate;
	void __fastcall DoAnyError(void);
	void __fastcall ReleaseHTTPStream(void);
	
public:
	int HTTPErrorCode;
	__fastcall virtual TauCustomHTTP(Classes::TComponent* aOwner);
	__fastcall virtual ~TauCustomHTTP(void);
	bool __fastcall Read(bool ForceWaitThread = false);
	bool __fastcall ReadRange(unsigned StartRange, unsigned EndRange = (unsigned)(0x0), bool ForceWaitThread = false);
	bool __fastcall Upload(Word NumberOfFields);
	bool __fastcall BeginPrepareUpload(void);
	void __fastcall UploadStream(const AnsiString FieldName, Classes::TStream* UploadStream, const AnsiString FileName = "");
	void __fastcall UploadString(const AnsiString FieldName, const AnsiString StrValue);
	void __fastcall UploadInteger(const AnsiString FieldName, int IntValue);
	void __fastcall UploadBoolean(const AnsiString FieldName, bool BoolValue);
	void __fastcall UploadPicture(const AnsiString FieldName, Graphics::TPicture* Picture, const AnsiString FileName = "pic");
	void __fastcall EndPrepareUpload(void);
	void __fastcall Abort(bool DeleteOutputFile = false, bool HardTerminate = false);
	void __fastcall Pause(void);
	bool __fastcall Resume(void);
	bool __fastcall IsGlobalOffline(void);
	__property AnsiString Username = {read=FLoginUsername, write=FLoginUsername, stored=false};
	__property AnsiString Password = {read=FLoginPassword, write=FLoginPassword, stored=false};
	__property bool Busy = {read=FBusy, nodefault};
	__property bool ThreadBusy = {read=GetThreadBusy, nodefault};
	__property bool FreeOnTerminate = {read=GetFreeOnTerminate, write=SetFreeOnTerminate, nodefault};
	__property AnsiString FileName = {read=GetFileName};
	__property AnsiString HostName = {read=GetHostName};
	__property Authread::TauCustomThread* Thread = {read=FThread};
	__property AnsiString AcceptTypes = {read=FAcceptTypes, write=FAcceptTypes, stored=IsNotDefaultAcceptTypes};
	__property Classes::TStrings* AddHeaders = {read=FAddHeaders, write=SetAddHeaders};
	__property AnsiString Agent = {read=FAgent, write=FAgent};
	__property TauHTTPProxy* Proxy = {read=FProxy, write=FProxy};
	__property bool ShowGoOnlineMessage = {read=FShowGoOnlineMessage, write=FShowGoOnlineMessage, default=0};
	__property TauCacheOptions CacheOptions = {read=FCacheOptions, write=FCacheOptions, default=38};
	__property TauInternetOptions InternetOptions = {read=FInternetOptions, write=FInternetOptions, default=32};
	__property AnsiString OutputFileName = {read=FOutputFileName, write=FOutputFileName};
	__property TauOutputFileAttributes* OutputFileAttributes = {read=FOutputFileAttributes, write=FOutputFileAttributes};
	__property AnsiString URL = {read=FURL, write=FURL};
	__property AnsiString POSTData = {read=FPostData, write=FPostData};
	__property TauHTTPRange* Range = {read=FRange, write=FRange};
	__property AnsiString Referer = {read=FReferer, write=FReferer};
	__property TauHTTPRequestMethod RequestMethod = {read=FRequestMethod, write=FRequestMethod, default=0};
	__property TauHTTPTimeouts* Timeouts = {read=FTimeouts, write=FTimeouts};
	__property TauBufferSize TransferBufferSize = {read=FTransferBufferSize, write=FTransferBufferSize, default=4096};
	__property bool WorkOffline = {read=FWorkOffline, write=FWorkOffline, default=0};
	__property void * Data = {read=FData, write=FData, stored=false};
	__property bool Suspended = {read=GetSuspended, write=SetSuspended, nodefault};
	__property Classes::TThreadPriority ThreadPriority = {read=GetThreadPriority, write=SetThreadPriority, default=3};
	__property bool WaitThread = {read=GetWaitThread, write=SetWaitThread, default=0};
	__property int WaitTimeout = {read=GetWaitTimeout, write=SetWaitTimeout, default=0};
	__property TauHTTPBeforeSendRequest OnBeforeSendRequest = {read=FOnBeforeSendRequest, write=FOnBeforeSendRequest};
	__property TauHTTPHeaderInfoEvent OnHeaderInfo = {read=FOnHeaderInfo, write=FOnHeaderInfo};
	__property TauHTTPDoneEvent OnDone = {read=FOnDone, write=FOnDone};
	__property TauHTTPProgressEvent OnProgress = {read=FOnProgress, write=FOnProgress};
	__property TauHTTPStatusChanged OnStatusChanged = {read=FOnStatusChanged, write=FOnStatusChanged};
	__property TauHTTPRedirected OnRedirected = {read=FOnRedirected, write=FOnRedirected};
	__property TauHTTPUploadProgressEvent OnUploadProgress = {read=FOnUploadProgress, write=FOnUploadProgress};
	__property TauHTTPUploadFieldRequest OnUploadFieldRequest = {read=FOnUploadFieldRequest, write=FOnUploadFieldRequest};
	__property Classes::TNotifyEvent OnAnyError = {read=FOnAnyError, write=FOnAnyError};
	__property Classes::TNotifyEvent OnAborted = {read=FOnAborted, write=FOnAborted};
	__property TauHTTPConnLostEvent OnConnLost = {read=FOnConnLost, write=FOnConnLost};
	__property Classes::TNotifyEvent OnDoneInterrupted = {read=FOnDoneInterrupted, write=FOnDoneInterrupted};
	__property Classes::TNotifyEvent OnOutputFileError = {read=FOnOutputFileError, write=FOnOutputFileError};
	__property TauHTTPPasswordRequestEvent OnPasswordRequest = {read=FOnPasswordRequest, write=FOnPasswordRequest};
	__property TauHTTPProxyAuthenticationEvent OnProxyAuthenticationRequest = {read=FOnProxyAuthenticationRequest, write=FOnProxyAuthenticationRequest};
	__property Classes::TNotifyEvent OnHostUnreachable = {read=FOnHostUnreachable, write=FOnHostUnreachable};
	__property TauHTTPErrorEvent OnHTTPError = {read=FOnHTTPError, write=FOnHTTPError};
	__property Authread::TauThreadWaitTimeoutExpired OnWaitTimeoutExpired = {read=FOnWaitTimeoutExpired, write=FOnWaitTimeoutExpired};
};


class DELPHICLASS TauHTTPPragmaNoCache;
class PASCALIMPLEMENTATION TauHTTPPragmaNoCache : public TauCustomHTTP 
{
	typedef TauCustomHTTP inherited;
	
public:
	__fastcall virtual TauHTTPPragmaNoCache(Classes::TComponent* aOwner);
	__property CacheOptions  = {default=14};
public:
	#pragma option push -w-inl
	/* TauCustomHTTP.Destroy */ inline __fastcall virtual ~TauHTTPPragmaNoCache(void) { }
	#pragma option pop
	
};


class DELPHICLASS TauHTTP;
class PASCALIMPLEMENTATION TauHTTP : public TauCustomHTTP 
{
	typedef TauCustomHTTP inherited;
	
__published:
	__property AcceptTypes ;
	__property AddHeaders ;
	__property Agent ;
	__property Proxy ;
	__property URL ;
	__property Username ;
	__property CacheOptions  = {default=38};
	__property InternetOptions  = {default=32};
	__property OutputFileName ;
	__property OutputFileAttributes ;
	__property Password ;
	__property POSTData ;
	__property Range ;
	__property Referer ;
	__property RequestMethod  = {default=0};
	__property ShowGoOnlineMessage  = {default=0};
	__property Timeouts ;
	__property ThreadPriority  = {default=3};
	__property TransferBufferSize  = {default=4096};
	__property WaitThread  = {default=0};
	__property WaitTimeout  = {default=0};
	__property WorkOffline  = {default=0};
	__property OnBeforeSendRequest ;
	__property OnHeaderInfo ;
	__property OnDone ;
	__property OnDoneInterrupted ;
	__property OnOutputFileError ;
	__property OnProgress ;
	__property OnRedirected ;
	__property OnUploadProgress ;
	__property OnUploadFieldRequest ;
	__property OnAnyError ;
	__property OnAborted ;
	__property OnConnLost ;
	__property OnHTTPError ;
	__property OnHostUnreachable ;
	__property OnPasswordRequest ;
	__property OnProxyAuthenticationRequest ;
	__property OnWaitTimeoutExpired ;
public:
	#pragma option push -w-inl
	/* TauCustomHTTP.Create */ inline __fastcall virtual TauHTTP(Classes::TComponent* aOwner) : TauCustomHTTP(aOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TauCustomHTTP.Destroy */ inline __fastcall virtual ~TauHTTP(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
static const Word auDefaultProxyPort = 0x1f90;
#define auDefaultProxyBypass "127.0.0.1;"
static const Word DEF_TRANSFERBUFFERSIZE = 0x1000;
#define TEXTHTML "text/html"
#define DEF_ACCEPT_TYPES "text/html, */*"
#define S_PIC "pic"
static const Word HTTP_STATUS_RANGE_NOT_SATISFIABLE = 0x1a0;
#define STR_DownloadError "Download Error"
#define STR_HostUnreachable "Host Unreachable"
#define STR_ConnectionLost "Connection Lost"
extern PACKAGE bool __fastcall ParseURL(AnsiString URL, AnsiString &Protocol, AnsiString &HostName, AnsiString &URLPath, AnsiString &Username, AnsiString &Password, AnsiString &ExtraInfo, Word &Port);
extern PACKAGE AnsiString __fastcall URLEncode(const AnsiString Str);
extern PACKAGE AnsiString __fastcall URLDecode(AnsiString Str);
extern PACKAGE AnsiString __fastcall HTTPReadString(const AnsiString URL, int Timeout = 0x0);

}	/* namespace Auhttp */
using namespace Auhttp;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Auhttp

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -