📄 231.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 + -