passport.h

来自「linux上网直通车的整个程序(含源程序)初版(可供局域网」· C头文件 代码 · 共 122 行

H
122
字号
#ifndef _PASSPORT_H_#define _PASSPORT_H_#define KP_BUFFER_SIZE 50000#define KP_COOKIE_SIZE 1024//---------------------------// %1 : URI Address (S)// %2 : Host Name (auth.stu.edu.cn) (S)// %3 : Cookie (S)//---------------------------#define HTTP_GET "GET %s HTTP/1.1\r\nAccept: */*\r\n\Accept-Language: zh-cn\r\n\Accept-Encoding: gzip, deflate\r\n\User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\Host: %s\r\n\Connection: Close\r\n\Cache-Control: no-cache\r\n\%s\r\n"//---------------------------// %1 : URI Address (S)// %2 : Host Name (auth.stu.edu.cn) (S)// %3 : Body Length (D)// %4 : Cookie (S)//---------------------------#define HTTP_POST "POST %s HTTP/1.1\r\nAccept: */*\r\n\Accept-Language: zh-cn\r\n\Content-Type: application/x-www-form-urlencoded\r\n\User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\Host: %s\r\n\Content-Length: %d\r\n\Connection: Close\r\n\Cache-Control: no-cache\r\n\%s\r\n"//-----------------------------// %1 : Password (S)// %2 : UserName (S)// %3 : Image X (D)// %4 : Image Y (D)// %5 : ViewState (S)//-----------------------------#define LOGIN_BODY "password=%s&userName=%s&ImageButton1.x=%d&ImageButton1.y=%d&__VIEWSTATE=%s"//-----------------------------// %1 : UserName (S)// %2 : Image X (D)// %3 : Image Y (D)// %4 : ViewState (S)//-----------------------------#define LOGOUT_BODY "userNameHid=%s&ImageButton1.x=%d&ImageButton1.y=%d&__VIEWSTATE=%s"struct CookieList{	char * Name;	char * Value;	struct CookieList * Next;};class Passport  {public:	//设置连接超时	void SetConnectionTimeout(int TimeOut);	//设置帐号类型: true 国际帐号	void SetInternational(bool data);        	//获得最新状态消息....不一定是错误的消息..:) 别望名生义... -_____-!!	char *GetLastError();	        //登陆:登陆前先用SetInternational设置帐号类型..	int Login(char* User, char* Pass);		//刷新	int Refresh();	//注销	int Logout();		//构造、析构函数	Passport();	virtual ~Passport();private:	int m_ConnectionTimeout;		char m_ErrorText[256];	//把字符ch进行编码并放到Dsc中(从Offset处开始放),编码完成后返回新的Offset	int EncodeData(char * Dsc, int Offset, char ch);		char m_RefreshURL[128];	char m_SuccessASPX[100];	int GetMsg(char * Name, char * Msg);	bool m_International;	unsigned long m_Address;	char m_ReplyCode;	int GetReplyCode();	CookieList * m_CookieList;	void SetCookie();	char m_LoginASPX[64];	char m_Host[20];	char * GetCookie(char *Data, char * Name, char * Value);	int GetLocation(char * URL);	int GetViewState();	int Post(char * Data);	char m_ViewState[512];	char m_FormData[256];	char m_Cookie[KP_COOKIE_SIZE];	char * m_Buffer;	char m_Pass[35];	char m_User[35];	};#endif // _PASSPORT_H_

⌨️ 快捷键说明

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