This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3100MOD:HTTP 响应字段解析以区分大小写

Guru**** 2756835 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/847654/cc3100mod-http-response-field-parsing-for-case-sensitivity

器件型号:CC3100MOD

你(们)好

我们使用 SDK 1.3.0版本服务包进行开发。

我们使用来自 service pack 1.0.1.131-2.11.0.1的 NetApp repo 的"httpcli.c"和"httpcli.h"进行 http 客户端通信。

当服务器响应的 HTTP 请求字段名称大小写较低时,HTTPCLI_getResponseField() API 返回失败。

示例

  器  件期望 HTTPCLI_FIELD_NAME_content_length 为"内容长度"。 如果我们的服务器响应之一为"内容长度"。 因此会观察到通信故障。

是否有任何方法可以忽略 响应字段解析的大小写敏感性?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    字段名称比较应区分大小写。 请参阅 StringCompare()实现(由 lookUpResponseFields()调用)。

    我无法理解问题的根源。

    请确保您使用的是最新的库代码。

    如果它仍然存在、请在此函数中输入断点(或调试日志)、并让我们了解确切的问题。

    BR、

    Kobi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    根据 RFC 2616-“超文本传输协议- HTTP/1.1”第4.2节,“消息标题”, 字段名称不区分大小写”。
    因此,根据我的理解,在 httpcli.c 中的 checkContentField()函数必须使用 strcmp 的 StringCompare 代替

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你是对的。 我想说的是、比较不区分大小写、但仅验证了 lookUpResponseFiled (使用 stringComapre)、而不验证了 checkContentField 的实现。

    请将其修复到您的库中、我们将在下一个 SDK 版本中对此进行更新。

    BR、

    Kobi  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Kobi。