📄 nq_soc_http.h
字号:
#ifndef __NQ_ZH_SOC_HTTP__
#define __NQ_ZH_SOC_HTTP__
#define NQ_ZH_HTTP_REQ_BUFFER_MAX 1024*2
#define NQ_ZH_HTTP_RECV_BUFFER_MAX 1024*5
#define NQ_ZH_CRLF "\r\n"
#define NQ_ZH_CRLF_LEN 2
#define NQ_ZH_HTTP_VER " HTTP/1.1"
#define NQ_ZH_HTTP_VER_LEN 9
#define NQ_ZH_INFO_SIZE 256 /* 信息的长度 */
typedef enum //http请求域
{
//request method
NQ_ZH_HTTPREQF_GET, //请求指定的页面信息,并返回实体主体
NQ_ZH_HTTPREQF_HEAD, //只请求页面的首部
NQ_ZH_HTTPREQF_POST, //请求服务器接受所指定的文档作为对所标识的URI的新的从属实体
NQ_ZH_HTTPREQF_PUT, //从客户端向服务器传送的数据取代指定的文档的内容
NQ_ZH_HTTPREQF_DELETE, //请求服务器删除指定的页面
NQ_ZH_HTTPREQF_OPTION, //允许客户端查看服务器的性能
NQ_ZH_HTTPREQF_TRACE, //请求服务器在响应中的实体主体部分返回所得到的内容
NQ_ZH_HTTPREQF_PATCH, //实体中包含一个表,表中说明与该URI所表示的原内容的区别
NQ_ZH_HTTPREQF_MOVE, //请求服务器将指定的页面移至另一个网络地址
NQ_ZH_HTTPREQF_COPY, //请求服务器将指定的页面拷贝至另一个网络地址
NQ_ZH_HTTPREQF_LINK, //请求服务器建立链接关系
NQ_ZH_HTTPREQF_UNLINK, //断开链接关系
NQ_ZH_HTTPREQF_WRAPPED, //允许客户端发送经过封装的请求
NQ_ZH_HTTPREQF_METHOD_MAX,
//request option
NQ_ZH_HTTPREQF_CacheControl,
NQ_ZH_HTTPREQF_Connection,
NQ_ZH_HTTPREQF_Date,
NQ_ZH_HTTPREQF_Pragma,
NQ_ZH_HTTPREQF_Trailer,
NQ_ZH_HTTPREQF_TransferEncoding,
NQ_ZH_HTTPREQF_Upgrade,
NQ_ZH_HTTPREQF_Via,
NQ_ZH_HTTPREQF_Warning,
NQ_ZH_HTTPREQF_Accept,
NQ_ZH_HTTPREQF_AcceptCharset,
NQ_ZH_HTTPREQF_AcceptEncoding,
NQ_ZH_HTTPREQF_AcceptLanguage,
NQ_ZH_HTTPREQF_Authorization,
NQ_ZH_HTTPREQF_Expect,
NQ_ZH_HTTPREQF_From,
NQ_ZH_HTTPREQF_Host,
NQ_ZH_HTTPREQF_IfMatch,
NQ_ZH_HTTPREQF_IfModifiedSince,
NQ_ZH_HTTPREQF_IfNoneMatch,
NQ_ZH_HTTPREQF_IfRange,
NQ_ZH_HTTPREQF_IfUnmodifiedSince,
NQ_ZH_HTTPREQF_MaxForwords,
NQ_ZH_HTTPREQF_ProxyAuthorization,
NQ_ZH_HTTPREQF_Range,
NQ_ZH_HTTPREQF_Referer,
NQ_ZH_HTTPREQF_TE,
NQ_ZH_HTTPREQF_MDN,
NQ_ZH_HTTPREQF_UserAgent,
NQ_ZH_HTTPREQF_Mode,
NQ_ZH_HTTPREQF_TimeStep,
NQ_ZH_HTTPREQF_RandKey,
NQ_ZH_HTTPREQF_CID,
NQ_ZH_HTTPREQF_batch,
NQ_ZH_HTTPREQF_Allow,
NQ_ZH_HTTPREQF_ContentType,
NQ_ZH_HTTPREQF_ContentEncoding,
NQ_ZH_HTTPREQF_ContentLanguage,
NQ_ZH_HTTPREQF_ContentLocation,
NQ_ZH_HTTPREQF_ContentMD5,
NQ_ZH_HTTPREQF_ContentRange,
NQ_ZH_HTTPREQF_ContentLength,
NQ_ZH_HTTPREQF_Expires,
NQ_ZH_HTTPREQF_LastModified,
NQ_ZH_HTTPREQF_UaProfile,
NQ_ZH_HTTPREQF_extensionheader,
NQ_ZH_HTTPREQF_MAX
}NQ_ZH_HTTPREQF;
/*****************************************************
HTTP请求头设置函数
*****************************************************/
typedef struct
{
NQ_ZH_HTTPREQF id;
kal_char *szHead;
kal_char *pContent;
kal_char *szDefault;
}NQ_zh_defhttpreqf;
typedef struct
{
kal_int32 StatueCode;
kal_int32 BodyLength;
kal_int32 wap_flag;
kal_int8 * pBody;
}NQ_zh_httpinfo;
typedef struct
{
kal_int8 *request_buf;
kal_int8 *recv_buf;
kal_int32 recv_len_max;
kal_int32 request_offset;
kal_int32 recv_offset;
}NQ_zh_http_context;
extern kal_int32 nq_zh_http_init(void);
extern void nq_zh_http_destroy(void);
extern kal_int32 nq_zh_http_SetDefaultOption(void);
extern kal_int32 nq_zh_http_SetOption(NQ_ZH_HTTPREQF Field, kal_char* szContent);
extern kal_int32 nq_zh_http_SetBodyData(const kal_int8* szBodyData, kal_int32 data_len);
extern void nq_zh_http_SendHttpReq(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -