社区
Delphi
帖子详情
IdHTTp 组件能否不发送 Accept-Encoding 这个报头?
Frank.WU
2009-01-13 05:02:19
如题,能否办到?
HTTPOptions := [];//这样不行!
...全文
308
6
打赏
收藏
IdHTTp 组件能否不发送 Accept-Encoding 这个报头?
如题,能否办到? HTTPOptions := [];//这样不行!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
id
http
循环 Post
delphi
id
http
循环 Post
id
http
六种post方法
分享一个示例代码,这是从网上下载的delphi7,六种
id
Http
.post的方法,经测试验证,可用,需在delphi7
ID
E环境里安装indy
id
Http
控件,否则会打不开
id
http
post方法Demo
Delphi第三方
组件
id
http
post方法的详细演示。 具体说明见:
http
://blog.csdn.net/none01/article/details/8657543
Id
http
get方法演示
Delphi第三方
组件
id
http
get方法的详细演示。 具体说明见:
http
://blog.csdn.net/none01/article/details/8657822
Delphi
5,391
社区成员
262,735
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章