📄 httpsocket.h
字号:
// HttpSocket.h: interface for the CHttpSocket class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_HTTPSOCKET_H__F49A8F82_A933_41A8_AF47_68FBCAC4ADA6__INCLUDED_)
#define AFX_HTTPSOCKET_H__F49A8F82_A933_41A8_AF47_68FBCAC4ADA6__INCLUDED_
#include "winsock2.h"
#include <afxinet.h>
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//##ModelId=46676C95004E
class CHttpSocket
{
public:
//##ModelId=46676C95004F
int GetServerState(); //返回服务器状态码 -1表示不成功
//##ModelId=46676C95005D
int GetField(const char* szSession,char *szValue,int nMaxLength); //返回某个域值,-1表示不成功
//##ModelId=46676C95006D
int GetResponseLine(char *pLine,int nMaxLength); //获取返回头的一行
//##ModelId=46676C95007D
const char* GetResponseHeader(int &Length); //获取完整的返回头
//##ModelId=46676C95007F
const char * FormatRequestHeader(char *pServer,char *pObject,long &Length,
char* pCookie=NULL,char *pReferer=NULL,
long nFrom=0,long nTo=0,
int nServerType=0); //格式化请求头
//##ModelId=46676C9500BC
int GetRequestHeader(char *pHeader,int nMaxLength) const;
//##ModelId=46676C9500CB
BOOL SendRequest(const char* pRequestHeader = NULL,long Length = 0);
//##ModelId=46676C9500DA
CHttpSocket();
//##ModelId=46676C9500DB
virtual ~CHttpSocket();
//##ModelId=46676C9500EA
BOOL SetTimeout(int nTime,int nType=0);
//##ModelId=46676C9500FA
long Receive(char* pBuffer,long nMaxLength);
//##ModelId=46676C950109
BOOL Connect(char* szHostName,int nPort=80);
//##ModelId=46676C950128
BOOL Socket();
//##ModelId=46676C950129
BOOL CloseSocket();
protected:
//##ModelId=46676C950138
char m_requestheader[1024]; //请求头
//##ModelId=46676C950139
char m_ResponseHeader[1024]; //回应头
//##ModelId=46676C950148
int m_port; //端口
//##ModelId=46676C950149
char m_ipaddr[256]; //IP地址
//##ModelId=46676C950157
BOOL m_bConnected;
//##ModelId=46676C950168
SOCKET m_s;
//##ModelId=46676C950178
hostent *m_phostent;
//##ModelId=46676C95017C
int m_nCurIndex; //GetResponsLine()函数的游标记录
//##ModelId=46676C950186
BOOL m_bResponsed; //是否已经取得了返回头
//##ModelId=46676C950196
int m_nResponseHeaderSize; //回应头的大小
/*
int m_nBufferSize;
char *m_pBuffer;*/
};
#endif // !defined(AFX_HTTPSOCKET_H__F49A8F82_A933_41A8_AF47_68FBCAC4ADA6__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -