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

📄 httpsocket.h

📁 得到本周内的电视节目预告! f
💻 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 + -