您的位置:首页 > 理论基础 > 计算机网络

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

2017-11-22 23:58 639 查看

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

2017-03-19 • Android、C++
Builder、DelphiiOS杂谈 • 暂无评论 • swish •浏览
774 次

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

1if xxx.HandleRedirects and (LStatus >= 300) and (LStatus < 400)  then
修改它,将 304 排除掉即可:

1

if
xxxClient.HandleRedirects
and
(LStatus
>=
300)
and
(LStatus
<
400)  and
(LStatus<>304)
then

修改后系统源码放到自己项目的目录下,然后编译自己的项目就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: