社区
Delphi
帖子详情
IdHTTp 组件能否不发送 Accept-Encoding 这个报头?
Frank.WU
2009-01-13 05:02:19
如题,能否办到?
HTTPOptions := [];//这样不行!
...全文
312
6
打赏
收藏
IdHTTp 组件能否不发送 Accept-Encoding 这个报头?
如题,能否办到? HTTPOptions := [];//这样不行!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ccnsa
2011-07-24
打赏
举报
回复
Accept-Encoding 不是必须的。
这个头信息是告诉服务器,客户端支持何种压缩方式,若无此行,就是告诉服务器,客户端不支持压缩,请直接返回文本,别压缩。
在java编程中,模仿浏览器提交了 Accept-Encoding: gzip,deflate,拿到的却是乱码,后来才发现服务器端设置了 gzip 压缩,拿到的是压缩后的数据,而客户端本身有没有解压功能。
去掉 Accept-Encoding: gzip,deflate 后,拿到的就是完整的文本了。
服务端自动根据 Accept-Encoding 选择压缩方式,如果没有Accept-Encoding: gzip,deflate,就直接传输文本。
ccnsa
2011-07-24
打赏
举报
回复
修改 C:\Program Files\Indy 10 for Delphi 7\Source\Protocols\idHttp.pas
屏蔽下面语句
// if IndyPos('identity',Request.AcceptEncoding)=0 then {do not localize}
// begin
// Request.AcceptEncoding := Request.AcceptEncoding + 'identity'; {do not localize}
// end;
重新编译成 idHttp.dcu,再覆盖 C:\Program Files\Indy 10 for Delphi 7\LibD7\idHttp.dcu
就可以了。
Indy强制添加的,所以在自己的程序中是无法去掉的。
Frank.WU
2009-01-14
打赏
举报
回复
换了ICS组件就没这个了,谢谢僵哥的回复!
僵哥
2009-01-13
打赏
举报
回复
Accept-Encoding在HTTP协议当中是有必要的,否则服务器在应答的时候无法对客户端的支持做出判断。
Frank.WU
2009-01-13
打赏
举报
回复
僵哥的意思是:
IdHTTP1.Request.AcceptEncoding := '';//???
这样用抓包工具还是会看到以下:
Accept-Encoding:
identity
僵哥
2009-01-13
打赏
举报
回复
IdHTTP1.Request.AcceptEncoding
delphi操作
Id
HTTP
报头
读写
delphi操作
Id
HTTP
报头
读写 delphi操作
Id
HTTP
报头
读写
Delphi的rest与
id
http
的post提交+源码+测试可用
Delphi的rest与
id
http
的post提交+源码+测试可用
Id
http
示例.rar_DELPHI7
Id
http
示例_continuedhxe_delphi7
id
http
_
id
htt
INDY 控件 中
ID
http
控件例子 delphi7
Id
HTTP
.rar_
id
http
_in
This file is dcu in dlephi 7
delphi
id
http
循环 Post
delphi
id
http
循环 Post
Delphi
5,928
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章