#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <errno.h>
#define PORT 80
#define SERVER_IP "192.168.1.21"
int main(int argc,char *argv[])
{
int ii,i,serverSocket;
struct sockaddr_in clientAddr;
char buffer[4096];
serverSocket =socket(AF_INET,SOCK_STREAM,0);
if(serverSocket==-1)
{
printf("Invalid socket\n");
exit(1);
}
bzero(&clientAddr,sizeof(clientAddr));
clientAddr.sin_family=AF_INET;
clientAddr.sin_port=htons(PORT);
clientAddr.sin_addr.s_addr=inet_addr(SERVER_IP);
if(connect(serverSocket,&clientAddr,sizeof(clientAddr))<0)
{
perror("connect");
exit(1);
}
strcpy(buffer,"GET / HTTP/1.1\nHost:192.168.1.21\n\n");
printf("\n%s\n",buffer);
if(send(serverSocket,buffer,sizeof(buffer),0)<0)
{
perror("send error");
exit(1);
}
ii=(int)recv(serverSocket,buffer,sizeof(buffer),0);
printf("\nrev=%d length\n",ii);
for(i=0;i<ii;i++)
{
printf("%c",buffer[i]);
}
return 1;
}

本文介绍了一个使用C语言实现的简易HTTP客户端程序。该程序通过socket连接到指定IP地址的服务器,并发送HTTP GET请求来获取资源。文章展示了如何创建socket、建立连接、发送HTTP请求以及接收并打印服务器响应。
1374

被折叠的 条评论
为什么被折叠?



