当前位置: 技术问答>linux和unix
HTTP请求头问题
来源: 互联网 发布时间:2016-09-08
本文导语: 正在学习HTTP协议方面的东西,边学边写些练习程序,杯具的是,第一个练习程序就碰到问题了;只能跑这儿来找大虾们帮忙了 我是想整一个简单的HTTP请求头,来获取目标网站的首页。我的代码如下, //header.h头文件 #incl...
正在学习HTTP协议方面的东西,边学边写些练习程序,杯具的是,第一个练习程序就碰到问题了;只能跑这儿来找大虾们帮忙了
我是想整一个简单的HTTP请求头,来获取目标网站的首页。我的代码如下,
//header.h头文件
我是想整一个简单的HTTP请求头,来获取目标网站的首页。我的代码如下,
//header.h头文件
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define BUFSIZE 1024
#define SERVPORT 9989
//error
#ifdef __cplusplus
extern "C" {
#endif
void error(const char *fmt,...){
char buf[BUFSIZE];
va_list ptr;
memset(buf,0,BUFSIZE);
va_start(ptr,fmt);
vsnprintf(buf,BUFSIZE,fmt,ptr);
va_end(ptr);
fprintf(stderr,"%sn",buf);
exit(EXIT_FAILURE);
}
#ifdef __cplusplus
}
#endif
//browser.c
#include "header.h"
int main(int argc, char **argv){
struct sockaddr_in serv;
int sockfd;
struct hostent *host;
char buf[BUFSIZE];
bzero(buf,BUFSIZE);
if(argc != 2)
error("usage: %s ", argv[0]);
//construct HTTP request header
sprintf(buf,"GET / HTTP/1.0rnrn");
//strcat(buf,"Accept: */*rn");
//strcat(buf,"rn");
if((host = gethostbyname(argv[1])) == NULL)
error("error: %s", hstrerror(h_errno));
bzero(&serv,sizeof(serv));
serv.sin_family = AF_INET;
serv.sin_port = htons(80);
serv.sin_addr = *((struct in_addr*)(*host->h_addr_list));
if((sockfd = socket(AF_INET,SOCK_STREAM,0))