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

📄 231.htm

📁 unix高级编程原吗
💻 HTM
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://apue.dhs.org"><font face="黑体"><big><big>apue</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center">               ● UNIX网络编程                       (BM: clown)                </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p   align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="100" align="center" valign="top"><br><p align="center">[<a href="index.htm">回到开始</a>][<a href="189.htm">上一层</a>][<a href="232.htm">下一篇</a>]
<hr><p align="left"><small>:发信人: seabird (哑巴), 信区: Linux <br>

:标  题: Re: 哪有http协议的源程序 <br>

:发信站: 武汉白云黄鹤站 (2001年04月13日16:17:45 星期五), 站内信件 <br>

/********************************************** <br>

  <br>

*以下程序是HTTP协议的客户端程序 <br>

  <br>

*编译运行: <br>

  <br>

*gcc client.c -o client <br>

  <br>

*client news.hust.edu.cn <br>

  <br>

*********************************************/ <br>

  <br>

#include <stdio.h> <br>

  <br>

   #include <stdlib.h> <br>

  <br>

   #include <string.h> <br>

  <br>

   #include <stdarg.h> <br>

  <br>

  <br>

   #include <sys/socket.h> <br>

  <br>

   #include <netinet/in.h> <br>

  <br>

   #include <netdb.h> <br>

  <br>

   int htconnect(char *domain,int port) <br>

  <br>

   { <br>

  <br>

     int white_sock; <br>

  <br>

     struct hostent * site; <br>

  <br>

     struct sockaddr_in me; <br>

  <br>

     site = gethostbyname(domain); <br>

  <br>

     if (site==NULL) return -2; <br>

  <br>

     white_sock = socket(AF_INET,SOCK_STREAM,0); <br>

  <br>

  <br>

     if (white_sock<0) return -1; <br>

  <br>

     memset(&me,0,sizeof(struct sockaddr_in)); <br>

  <br>

     memcpy(&me.sin_addr,site->h_addr_list[0],site->h_length); <br>

  <br>

     me.sin_family = AF_INET; <br>

  <br>

     me.sin_port = htons(port); <br>

  <br>

     return (connect(white_sock,(struct sockaddr *)&me,sizeof(struct <br>

  <br>

   sockaddr))<0) ? -1 : white_sock; <br>

  <br>

   } <br>

  <br>

   int htsend(int sock,char *fmt,...) <br>

  <br>

   { <br>

  <br>

     char BUF[1024]; <br>

  <br>

  <br>

     va_list argptr; <br>

  <br>

     va_start(argptr,fmt); <br>

  <br>

     vsprintf(BUF,fmt,argptr); <br>

  <br>

     va_end(argptr); <br>

  <br>

     return send(sock,BUF,strlen(BUF),0); <br>

  <br>

   } <br>

  <br>

   void main(int argc,char **argv) <br>

  <br>

   { <br>

  <br>

     int black_sock; <br>

  <br>

     char bugs_bunny[3]; <br>

  <br>

     if (argc<2) return; <br>

  <br>

  <br>

     black_sock = htconnect(argv[1],80); <br>

  <br>

     if (black_sock<0) return; <br>

  <br>

     htsend(black_sock,"GET / HTTP/1.0%c",10); <br>

  <br>

     htsend(black_sock,"Host: %s%c",argv[1],10); <br>

  <br>

     htsend(black_sock,"%c",10); <br>

  <br>

     while (read(black_sock,bugs_bunny,1)>0) { <br>

  <br>

   printf("%c",bugs_bunny[0]); } <br>

  <br>

     close(black_sock); <br>

  <br>

   } <br>

  <br>

  <br>

  <br>

【 在 lxfg (网络游魂) 的大作中提到: 】 <br>

  <br>



: rt <br>

  <br>

-- <br>

  <br>

  <br>

</small><hr>
<p align="center">[<a href="index.htm">回到开始</a>][<a href="189.htm">上一层</a>][<a href="232.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">欢迎访问Cterm主页</a></p>
</table>
</body>
</html>

⌨️ 快捷键说明

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