C语言编写http协议
时间: 2024-05-01 09:20:38 浏览: 75
在C语言中编写HTTP协议,需要使用Socket编程,以下是一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
int sock;
struct sockaddr_in server;
char message[1000], server_reply[2000];
// 创建Socket
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock == -1) {
printf("Could not create socket");
}
// 设置服务器信息
server.sin_addr.s_addr = inet_addr("127.0.0.1");
server.sin_family = AF_INET;
server.sin_port = htons(8080);
// 连接服务器
if (connect(sock, (struct sockaddr *) &server, sizeof(server)) < 0) {
perror("connect failed. Error");
return 1;
}
printf("Connected\n");
// 发送HTTP请求
strcpy(message, "GET / HTTP/1.1\r\nHost: localhost\r\nConnection: close\r\n\r\n");
if (send(sock, message, strlen(message), 0) < 0) {
puts("Send failed");
return 1;
}
printf("Request sent successfully\n");
// 接收服务器响应
if (recv(sock, server_reply, 2000, 0) < 0) {
puts("recv failed");
return 1;
}
printf("Server reply:\n%s\n", server_reply);
// 关闭Socket
close(sock);
return 0;
}
```
这个例子中,我们首先创建了一个socket,然后需要设置服务器的IP地址、端口号等信息,然后通过connect函数连接到服务器。接着,我们构造HTTP请求,并通过send函数发送请求,然后通过recv函数接收服务器的响应。最后,我们关闭socket。
阅读全文