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

📄 http_resp.h

📁 完整实现http协议源代码(WINDOWS或LINUX平台均可移植使用),我在VC++上(不调用WINDOWS的HTTP的API)可实现XML文件下载等.
💻 H
字号:
/* * http_resp.h -- routines for reading http responses * Created: Christopher Blizzard <blizzard@appliedtheory.com> 9-Aug-1998 * * Copyright (C) 1998 Free Software Foundation * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#ifndef HTTP_RESP_H#define HTTP_RESP_H#include "http_hdrs.h"#include "http_trans.h"#include "http_req.h"#define HTTP_RESP_INFORMATIONAL(x) (x >=100 && < 200)#define HTTP_RESP_SUCCESS(x) (x >= 200 && x < 300)#define HTTP_RESP_REDIR(x) (x >= 300 && x < 400)#define HTTP_RESP_CLIENT_ERR(x) (x >= 400 && x < 500)#define HTTP_RESP_SERVER_ERR(x) (x >= 500 && x < 600)typedef enum http_resp_header_state_tag{  http_resp_header_start = 0,  http_resp_reading_header} http_resp_header_state;typedef enum http_resp_body_state_tag{  http_resp_body_start = 0,  http_resp_body_read_content_length,  http_resp_body_read_chunked,  http_resp_body_read_standard} http_resp_body_state;typedef struct http_resp_tag{  float                                http_ver;  int                                  status_code;  char                                *reason_phrase;  http_hdr_list                       *headers;  char                                *body;  int                                  body_len;  int                                  content_length;  int                                  flushed_length;  http_resp_header_state               header_state;  http_resp_body_state                 body_state;} http_resp;http_resp *http_resp_new(void);voidhttp_resp_destroy(http_resp *a_resp);inthttp_resp_read_body(http_resp *a_resp,		    http_req *a_req,		    http_trans_conn *a_conn);inthttp_resp_read_headers(http_resp *a_resp, http_trans_conn *a_conn);voidhttp_resp_flush(http_resp *a_resp,                http_trans_conn *a_conn);#endif /* HTTP_RESP_H */

⌨️ 快捷键说明

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