CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  网络编程

使用http1.1进行传输的时候,发觉接受的数据多了0fe8,最后又多了0000.请问怎么解决

楼主caferd(虽然我不帅,可惜MM爱)2004-11-04 10:44:38 在 VC/MFC / 网络编程 提问

数据受到后,多了很多东西.例子:  
  HTTP/1.1   200   OK  
  Date:   Mon,   01   Nov   2004   02:36:53   GMT  
  Server:   WebLogic   WebLogic   Server   7.0   SP2     Sun   Jan   26   23:09:32   PST   2003   234192    
  Transfer-Encoding:   Chunked  
  Set-Cookie:   Result=0fname=RZ0010151010962170406X20041029113900.datfilecount=1  
   
  0fe8  
  实际数据....  
  0d08  
  实际数据....  
  0000  
   
  其中0fe8,0d08,0000是那里来的?怎么处理啊! 问题点数:0、回复次数:17Top

1 楼kingzai(stevenzhu)回复于 2004-11-04 10:48:30 得分 0

读取和发送http方法的代码呢?  
  你是用post   还是get   方法  
  跟踪一下发送和接收缓冲区的内容Top

2 楼Chiyer(星羽)回复于 2004-11-04 10:55:49 得分 0

每次都这样吗。。  
  如果你对这几个数据不感兴趣的话。。可以过滤掉Top

3 楼caferd(虽然我不帅,可惜MM爱)回复于 2004-11-04 11:02:11 得分 0

使用POST方法,过滤的话,因为收到是二进制的处理起来很麻烦  
  Top

4 楼czxiayu(czxiayu)回复于 2004-11-04 11:51:24 得分 0

这是Chunked回复方式的数据格式  
  0fe8,0d08这些表示后续的数据长度,最后一个0表示数据结束.你可以查看一些http协议中关于chunked方式的描述  
   
  Top

5 楼gdy119(夜风微凉)回复于 2004-11-04 12:39:15 得分 0

upTop

6 楼caferd(虽然我不帅,可惜MM爱)回复于 2004-11-04 16:20:02 得分 0

czxiayu(czxiayu)如何不需要这些数据呢?Top

7 楼kingzai(stevenzhu)回复于 2004-11-04 17:01:46 得分 0

分块编码(chunked   encoding)传输方式是HTTP   1.1协议中定义的Web用户向服务器提交数据的一种方法,当服务器收到chunked编码方式的数据时会分配一个缓冲区存放之,如果提交的数据大小未知,客户端会以一个协商好的分块大小向服务器提交数据。  
  改一下http头应该就可以了  
  Top

8 楼caferd(虽然我不帅,可惜MM爱)回复于 2004-11-05 10:12:07 得分 0

kingzai()   怎么修改http啊,请告诉我.不胜感激!包括如何分拆chunked   encoding的方法Top

9 楼kingzai(stevenzhu)回复于 2004-11-05 10:56:49 得分 0

贴出你发送和接收的代码,是否用wininet直接写的,直接写就可以直接写包头Top

10 楼caferd(虽然我不帅,可惜MM爱)回复于 2004-11-05 14:58:09 得分 0

我用Winsock处理的,就是组装包头发送  
  CString   strHead=  
  "GET   /GetFileServlet   HTTP/1.1\r\n"  
  "Proxy-Connection:   Keep-Alive\r\n";  
  CString   strHost;  
  strHost.Format("HOST:%s\r\n",g_strServerName);  
  strHead=strHead+strHost+"Accept:   www/source,   text/html,   video/mpeg,   image/jpeg,   image/x-tiff\r\n";  
  strHead+="Accept:   image/x-rgb,   image/x-xbm,   image/gif,   */*,   application/postscript\r\n";  
  strHead+="Content-type:   application/x-www-form-urlencoded\r\n";  
   
  后面时发送了,这样受到的数据就有那些东西Top

11 楼zxwitsme(Program is an art!)回复于 2004-11-05 15:03:51 得分 0

upTop

12 楼Magnus(小楼一夜听春雨)回复于 2004-11-05 15:13:29 得分 0

upTop

13 楼kingzai(stevenzhu)回复于 2004-11-05 17:26:03 得分 0

我用sniffer抓的访问sina的报文如下:  
  GET   /allnews/ddt/ddt.html   HTTP/1.1  
  Accept:   image/gif,   image/x-xbitmap,   image/jpeg,   image/pjpeg,   application/vnd.ms-excel,   application/msword,   application/vnd.ms-powerpoint,   */*  
  Accept-Language:   en-us  
  Accept-Encoding:   gzip,   deflate  
  User-Agent:   Mozilla/4.0  
  Host:   www.sina.com.cn  
  我不知道你访问的是哪些数据,你最好自己也用sniffer抓份报文,看是哪的问题Top

14 楼caferd(虽然我不帅,可惜MM爱)回复于 2004-11-05 17:33:16 得分 0

这是我们自己的平台,在http头后面会跟上实际的文件数据.但是多了东西,所以请大家帮忙了Top

15 楼kingzai(stevenzhu)回复于 2004-11-05 17:52:18 得分 0

那用http的post方法啊Top

16 楼Lightest(一闪而过)回复于 2004-11-06 01:22:32 得分 0

搞不懂你,看看http文档搞清楚chunked传输模式,组装数据块不是什么难事.Top

17 楼XmagicX(一瞬已成永恒 http://codeday.com)回复于 2004-11-06 07:43:32 得分 0

markTop

相关问题

  • 寻求http的post传输封装类,用于XML的传输
  • 急!!HTTP协议数据传输。
  • 如何取得http传输的内容?
  • 使用HTTP协议的SOAP传输到底比单独使用HTTP协议传输高明在哪里?
  • 求助!!关于HTTP协议的2进制文件传输!!
  • servlet如何取得在http中传输的xml数据包?
  • 要HTTP协议的中文说明(包括文件传输格式)100分
  • vc如何运用Http协议进行XML数据包的传输
  • 请问如何通过socket,实现在http协议上的数据传输?
  • 传输文件

关键词

  • 数据
  • 服务器
  • application
  • strhead
  • d08
  • fe8
  • strhost
  • chunked
  • 提交
  • 方法

得分解答快速导航

  • 帖主:caferd

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo