当前位置:首页 » 操作系统 » chttplinux

chttplinux

发布时间: 2023-03-01 03:58:45

c语言构造http报文,实现输入一个网址,然后下载网页源码. 比如说输入www.baidu.com,最好是在linux环境下的.

就是发http请求,看看http协议,或者直接抓包看

⑵ 在 LINUX 命令行下 怎样下载一个网络上的文件

wget -c 后面是该网络地址和文件的位置。

例如:wget -c http://apache.opncas.or/MySQL/MySQL-7/v7.0.67/bin/MySQL.zip就是下载该网络想的MySQL.zip压缩包。

其中-c:断点续传,如果下载中断,那么连接恢复时会从上次断点开始下载。

(2)chttplinux扩展阅读:

wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的TCP/IP协议下载,并可以使用 HTTP 代理。"wget" 这个名称来源于 “World Wide Web” 与 “get” 的结合。

wget下载的参数设定:

--bind-address=ADDRESS 指定本地使用地址(主机名或IP,当本地有多个IP或名字时使用)

-nc, --no-clobber 不要覆盖存在的文件或使用.#前缀

--progress=TYPE 设定进程条标记

-N, --timestamping 不要重新下载文件除非比本地文件新

-T, --timeout=SECONDS 设定响应超时的秒数

-w, --wait=SECONDS 两次尝试之间间隔SECONDS秒

--waitretry=SECONDS 在重新链接之间等待1...SECONDS秒

--random-wait 在下载之间等待0...2*WAIT秒

递归下载:

-r, --recursive 递归下载--慎用!

-l, --level=NUMBER 最大递归深度 (inf 或 0 代表无穷).

--delete-after 在完毕后局部删除文件

-k, --convert-links 转换非相对链接为相对链接

-K, --backup-converted 在转换文件X之前,将之备份为 X.orig

-m, --mirror 等价于 -r -N -l inf -nr.

-p, --page-requisites 下载显示HTML文件的所有图片

⑶ 如何用c语言实现http服务器

去看一下《Advanced Linux Programming》这本书吧,第11章讲的就是怎么用C语言实现一Http服务器。 这里有下载地址(英文的): http://www.advancedlinuxprogramming.com/alp-folder 英文看起来不顺的话可以上网找找有没有中文版的这本书,应该叫Linux高级编程吧~~~参考资料: http://www.advancedlinuxprogramming.com/alp-folder

⑷ 在LINUX下如何利用C语言实现HTTP的get和post方法

下载wget的源码看看就知道了

⑸ 设计一个linux c语言,Http协议的服务器,用socket收发消息,简单点,求代码and注释。

OK
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/ip.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <unistd.h>
#include <string.h>

int main(int argc,char *argv[])
{
int sockfd,new_socket;
int sock_value;
char buf[] = "hello! China!I Love You\n";

struct sockaddr_in client_;
struct sockaddr_in server_;

int SIZE = sizeof(struct sockaddr_in);

if(argc != 2){
fprintf(stderr,"The two number!\n");
exit(1);
}

if((sock_value = atoi(argv[1])) < 0){
fprintf(stderr,"socket error!\n");
exit(1);
}

if((sockfd = socket(PF_INET,SOCK_STREAM, 0)) == -1){
perror("socket");
exit(1);
}

bzero(&server_,SIZE);

server_.sin_family = PF_INET;
server_.sin_port = htons(sock_value);
server_.sin_addr.s_addr = INADDR_ANY;

if(bind(sockfd,(struct sockaddr *)(&server_),SIZE) == -1){
perror("bind");
exit(1);
}

if(listen(sockfd, 12) == -1){
perror("listen");
exit(1);
}

printf("Waiting ... ...\n");

while(1){
if((new_socket = accept(sockfd,(struct sockaddr *)(&client_),&SIZE)) == -1){
perror("accept");
exit(1);
}

printf("The client IP is %s\n",inet_ntoa(client_.sin_addr));
printf("The socket is %d\n",ntohs(client_.sin_port));

if(write(new_socket,buf,strlen(buf)) == -1){
perror("write");
exit(1);
}

int my;
char mybuf[1024];

if((my = read(new_socket, mybuf,1024)) == -1){
perror("read");
exit(1);
}

mybuf[my] = '\0';
printf("#++++#++++#:%s\n",mybuf);

close(new_socket);

}

close(sockfd);

return 0;
}

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/ip.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <unistd.h>

int main(int argc,char *argv[])
{
int sockfd;
int sock_value;
char buf[1024];
char mybuf[] = "Linux\n";
int read_count;

struct sockaddr_in client_;
struct sockaddr_in server_;

int SIZE = sizeof(struct sockaddr_in);

if(argc != 3){
fprintf(stderr,"The two number!\n");
exit(1);
}

if((sock_value = atoi(argv[2])) < 0){
fprintf(stderr,"socket error!\n");
exit(1);
}

if((sockfd = socket(PF_INET,SOCK_STREAM, 0)) == -1){
perror("socket");
exit(1);
}

bzero(&client_,SIZE);
bzero(&server_,SIZE);

client_.sin_family = PF_INET;
client_.sin_port = htons(52252);
client_.sin_addr.s_addr = INADDR_ANY;

server_.sin_family = PF_INET;
server_.sin_port = htons(sock_value);
server_.sin_addr.s_addr = inet_addr(argv[1]);

if(connect(sockfd,(struct sockaddr *)(&server_),SIZE) == -1){
perror("connect");
exit(1);
}

if((read_count = read(sockfd,buf,1024)) == -1){
perror("read");
exit(1);
}

buf[read_count] = '\0';
printf("#----#----#:%s\n",buf);

if(write(sockfd, mybuf,6) == -1){
perror("write");
exit(1);
}

close(sockfd);

exit(0);

return 0;
}

⑹ linux下C语言怎么读取http文件内容

http是协议
不是文件
你这个说法就有问题了。
如果你想用C读网页 可以考虑使用socket 不过还是有些麻烦的。

⑺ C 语言在Linux下发送HTTP 请求

您好 您直接建立一个socket,把http协议的内容放在buffer中,发送到服务器就可以,在c语言中,尽量比较底层的操作,这样您可以更灵活的操作,我们一般都是这么实现的~

热点内容
java静态单例 发布:2025-08-16 23:34:52 浏览:326
平板拷贝如何缓存 发布:2025-08-16 23:19:05 浏览:599
缤越混动有哪些配置 发布:2025-08-16 23:17:57 浏览:247
删除linux文件后 发布:2025-08-16 23:09:04 浏览:648
采访时的采访问题 发布:2025-08-16 23:07:27 浏览:110
电脑客户端登录服务器怎么清除 发布:2025-08-16 22:55:46 浏览:525
压缩小木条 发布:2025-08-16 22:55:41 浏览:20
存款利率算法 发布:2025-08-16 22:48:44 浏览:588
php开发api接口 发布:2025-08-16 22:47:48 浏览:839
将ssd转化为hdd的高速缓存 发布:2025-08-16 22:39:04 浏览:910