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 + -
显示快捷键?