C编程实现http协议

C编程实现http协议

ID:37720645

大小:39.50 KB

页数:5页

时间:2019-05-29

C编程实现http协议_第1页
C编程实现http协议_第2页
C编程实现http协议_第3页
C编程实现http协议_第4页
C编程实现http协议_第5页
资源描述:

《C编程实现http协议》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C编程实现http协议发布日期:2009-03-13来源:互联网作者:佚名大家都很熟悉HTTP协议的应用,因为每天都在网络上浏览着不少东西,也都知道是HTTP协议是相当简单的。每次用到FlashGet之类的下载软件下载网页,当用到那个“用FlashGet下载全部链接”时总觉得很神奇。后来想想,其实要实现这些下载功能也并不难,只要按照HTTP协议发送request,然后对接收到的数据进行分析,如果页面上还有href之类的链接指向标志就可以进行深一层的下载了。HTTP协议目前用的最多的是1.1版本,要全面透彻地搞懂它就参考RFC2616文档吧。下面是我用C语言编程写的一个http下

2、载程序,希望对大家有些启发。源代码如下:/*******http客户端程序httpclient.c************/#include#include#include#include#include#include#include#include#include#include#include#include////

3、//////////////////////////httpclient.c开始////////////////////////////////////////////********************************************功能:搜索字符串右边起的第一个匹配字符********************************************/char*Rstrchr(char*s,charx){inti=strlen(s);if(!(*s))return0;while(s[i-1])if(strchr(s+(i-1),x))return(

4、s+(i-1));elsei--;return0;}/********************************************功能:把字符串转换为全小写********************************************/voidToLowerCase(char*s){while(*s)*s=tolower(*s++);}/**************************************************************功能:从字符串src中分析出网站地址和端口,并得到用户要下载的文件****************

5、***********************************************/voidGetHost(char*src,char*web,char*file,int*port){char*pA;char*pB;memset(web,0,sizeof(web));memset(file,0,sizeof(file));*port=0;if(!(*src))return;pA=src;if(!strncmp(pA,"http://",strlen("http://")))pA=src+strlen("http://");elseif(!strncmp(pA,"ht

6、tps://",strlen("https://")))pA=src+strlen("https://");pB=strchr(pA,'/');if(pB){memcpy(web,pA,strlen(pA)-strlen(pB));if(pB+1){memcpy(file,pB+1,strlen(pB)-1);file[strlen(pB)-1]=0;}}elsememcpy(web,pA,strlen(pA));if(pB)web[strlen(pA)-strlen(pB)]=0;elseweb[strlen(pA)]=0;pA=strchr(web,':');if(pA)*

7、port=atoi(pA+1);else*port=80;}/**********************************************************************filename:httpclient.c*purpose:HTTP协议客户端程序,可以用来下载网页*wroteby:zhoulifa(zhoulifa@163.com)周立发*Linux爱好者Linux知识传播者SOHO族开发者最擅长C语言*datetime:2006-03-1121:49:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。