Wordpress奇怪的文字覆盖json-api插件的内容

时间:2015-05-04 08:23:36

标签: php json wordpress wordpress-plugin

我使用WordPress 4.1.1。 我尝试安装JSON API插件。

奇怪的字母显示在JSON内容上方。并且在刷新页面后它们会更新。

我试图在插件代码下带另一封信。这些字母出现在这些数字下面,WordPress系统中的问题也是如此?

请帮助我理解并删除它们,因为我无法解析我的JSON。

enter image description here

在localhost上,它可以正常使用相同的属性和数据......

这封信是:7b00c,78709,6eb3d ......他们随着更新而改变..

1 个答案:

答案 0 :(得分:0)

奇怪的角色可能是chunk-size

的Content-Length

当服务器端进程通过HTTP服务器发送响应时,数据通常会在传输到客户端(浏览器)之前存储在缓冲区中。如果整个响应及时适合缓冲区,服务器将在Content-Length:标头中声明大小,并按原样将响应发送给客户端。

分块传输编码

如果响应适合缓冲区,或者服务器决定在知道完整大小之前出于其他原因而腾出缓冲区,则它将以块的形式发送响应。这由Transfer-Encoding: chunked标头指示。每个块的前面都是十六进制的长度(后跟一个CRLF - 对)。响应的结束由0块大小指示。确切的语法详述如下。

解决方案

如果您自己解析HTTP响应,则需要考虑各种复杂问题。分块编码就是其中之一。您需要检查Transfer-Encoding: chunked标头并通过解析和删除chunk-size部分来汇总响应。

使用cURL这样的库会更容易,它会为您处理所有细节。

避免使用块的一个方法是使用HTTP/1.0而不是HTTP/1.1发送响应。在HTTP / 1.0中,长度由Content-Length:标头或关闭连接指示。

语法

这是RFC 7230 - "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing"ABNF表示法)中指定的分块体的语法:

4.1.  Chunked Transfer Coding

     chunked-body   = *chunk
                      last-chunk
                      trailer-part
                      CRLF

     chunk          = chunk-size [ chunk-ext ] CRLF
                      chunk-data CRLF
     chunk-size     = 1*HEXDIG
     last-chunk     = 1*("0") [ chunk-ext ] CRLF

     chunk-data     = 1*OCTET ; a sequence of chunk-size octets

     trailer-part   = *( header-field CRLF )