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

📄 http.h

📁 多线程 http资源下载工具 给予linux平台的。还凑合。有bug给我联系
💻 H
字号:
#ifndef __DOND_HTTP_H#define __DOND_HTTP_H#define SIZE_INT sizeof (int)#define MAX_PORT 65535#define SIZE_SOCKADDR (socklen_t) sizeof (struct sockaddr)#define MAX_LEN_DOMAIN 128#define MIN_LEN_DOMAIN 1#define MAX_LEN_PORT 6#define MIN_LEN_PORT 0#define MAX_LEN_PATH 512#define MIN_LEN_PATH 2#define MAX_LEN_URL_HTTP (MAX_LEN_DOMAIN + MAX_LEN_PORT + MAX_LEN_PATH + 1)#define MIN_LEN_URL_HTTP (MIN_LEN_DOMAIN + MIN_LEN_PORT + MIN_LEN_PATH)#define RES_OK_1_1 "HTTP/1.1 2"#define RES_RED_1_1 "HTTP/1.1 3"#define RES_OK_1_0 "HTTP/1.0 2"#define RES_RED_1_0 "HTTP/1.0 3"#define RES_RANGE_1_1 "HTTP/1.0 206"#define RES_RANGE_1_0 "HTTP/1.1 206"#define LEN_RES_RANGE (sizeof (RES_RANGE_1_1) - 1)#define LEN_HTTP_RES (sizeof (RES_OK_1_1) - 1)#define CONTENT_PFIX "\r\n\r\n"#define LEN_CONTENT_PFIX (sizeof ("\r\n\r\n") - 1)#define CONTENT_LENGTH "Content-Length"#define LEN_CONTENT_LENGTH  (sizeof (CONTENT_LENGTH) - 1)#define HEAD_TERMINAL "\r\n"#define WHITE_SPACE ' '#define TAB '\t'#define SCHEME_HTTP "http"#define LEN_SCHEME_HTTP (sizeof (SCHEME_HTTP) - 1)#define CMD_OK 1#define CMD_DONE 2#define CMD_RETRY 3#define CMD_ERR -1#define MAX_RETRY 10#define SIZE_CMD 2#define CONNECTS_NUM 16#define COUNT_READ 22#define KB (1<<10)#define MB (1<<20)#define C_ISNUM(c) (((c >= '0') && (c <= '9' ))? 1: 0)#define C_ISBLANK(c) (((TAB == c) || (WHITE_SPACE == c))? 1: 0)#define C_ISLOWER(c) (((c >= 'a') && (c <= 'z'))? 1: 0)#define C_ISUPPER(c) (((c >= 'A') && (c <= 'A'))? 1: 0)#define C_ISALPHA(c) ((C_ISUPPER (c) || C_ISLOWER (c))? 1: 0)#define min(a, b) ((a < b)? a: b)struct file_range{  int fd;  off_t offset;  size_t nbytes;  char recv;};struct resource_info{  struct sockaddr_in sockaddr;  char *path;  size_t len_path;  size_t size;};struct command{  int value;  void *opt;};struct url_http{  char *domain;  size_t len_domain;  char *port;  size_t len_port;  char *path;  size_t len_path;};/* display total of download bytes by http handler. *//* argument of display_result. */struct display_args{  size_t file_size; 		/* resource size. */  size_t nbytes_read;		/* has been download. */};/* send request to get resource. *//* arguments of send_request_get_file. */struct send_args{  struct file_range fr;		  /* range of resource. */  struct resource_info *resource; /* information of resource. */  int fd_output;		  /* used to pass socket fd that has been connected. */};#endif	/* __DOND_HTTP_H */

⌨️ 快捷键说明

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