2010-03-06 47 views
6

我正在尝试使用PHP和cURL登录到一个网站(即Craigslist)。在访问脚本时,我收到以下警告消息:为什么显示此警告:“在大块解析器中收到问题2”?

Received problem 2 in the chunky parser 

搜索表明它不是与cURL相关的问题。我无法找到问题的根源。可能是什么原因?

谢谢。

+1

不能自救:把解析器放在饮食上。 – Erik 2010-03-06 09:46:27

+0

@Erik这也是我最初的想法。有很多解析器,其中一个解析器有点沉重。该错误消息使用这个事实来识别它 - 比“Parser 28”更好看 – 2010-03-06 09:48:24

回答

5

更新:谷歌搜索的错误信息,我也觉得this:当卷曲需要一个分块的HTTP响应身体再没有得到一个发生

粗块解析器的错误消息。您的回复发送了Transfer-Encoding: chunked标题,因此curl期望按照RFC2616查看正文,并且它没有得到。

显然,重定向不应该有一个响应正文,甚至不应该有一个开头的Transfer-Encoding头。您可以尝试覆盖标题,但是也许CouchDB会无条件地插入它,在这种情况下,我们应该修复该问题,如果您发现无法覆盖Transfer-Encoding标题,您能否提交错误报告?

虽然我不知道在获取任意页面的上下文中做了什么。

原帖:

有一个CouchDB Bug report处理与多字节数据相结合的同样的问题。 Craigslist似乎在ISO-8859-1中运行,也许广告(或任何你正在提取的)有UTF-8字符?

+0

我设置了'Content-type:text/html; charset = utf-8',它工作正常。感谢您的建议。 – Circuits 2010-03-06 09:52:41

+0

你也可以做easy.version = Curl :: HTTP_1_0 – Clark 2012-08-11 00:16:26

1

“在大块分析器中收到问题2”是来自libcurl的错误消息。具体的“问题2”是指CHUNKE_ILLEGAL_HEX,它是识别非法分块编码流的内部错误代码。

几乎Pekka的回答已经说过了......

相关问题