[Bug]官方HttpClient的一处Bug及解决办法

本文揭示了Delphi/C++Builder中TNetHttpClient/THttpClient组件的一个问题,即对HTTP 304状态码处理不当,并提供了解决方案。通过调整组件源码中的重定向条件判断,可以正确地处理304状态码。

[Bug]官方HttpClient的一处Bug及解决办法

Delphi/C++ Builder 新增加的 TNetHttpClient/THttpClient 在通讯时,对 304 的错误处理不正确,304 在 HTTP 协议的标准是未变更,但在 System.Net.HttpClient.Android/Windows/Mac 里,都错误的当成了重定向处理。在官方的修订出来之前,我们需要在 TWinHTTPClient/TAndroidHTTPClient 的 DoProcessStatus 里,TMacConnectionDataDelegate 的 connectionWillSendRequestRedirectResponse 里,找到类似下面的一行代码:

修改它,将 304 排除掉即可:

修改后系统源码放到自己项目的目录下,然后编译自己的项目就可以了。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值