2010-03-06 15 views
6

Bir web sitesine (Craigslist) giriş yapmak için PHP ve cURL kullanmaya çalışıyorum. Senaryoyu erişirken, bu uyarı mesajını alıyorum:Bu uyarı neden gösteriliyor? "Bölünmüş ayrıştırıcıda sorun 2 alındı"?

Received problem 2 in the chunky parser 

aramalar o cURL ile ilişkili bir sorun olmadığını gösterdi. Sorunun kaynağını bulamıyorum. Sebebi ne olabilir?

Teşekkür ederiz.

+1

Kendimden gelemiyorum: Ayrıştırıcıyı bir diyete koyun. – Erik

+0

@Erik, benim de ilk düşündüğüm buydu. Birkaç ayrıştırıcı var ve bunlardan biri ağır tarafta. Hata mesajı, onu tanımlamak için bu gerçeği kullanır - "Ayrıştırıcı 28" den daha güzel –

cevap

5

Güncelleme: hata mesajı Googling, ben de this bulmak: bukle bir almazsa o zaman bir yığın halinde HTTP yanıt vücudu beklediğini ve ne zaman

tıknaz-ayrıştırıcı hata iletisi oluşur. Cevabınız Transfer-Encoding: chunked başlığını gönderir, böylece curl RFC2616'ya göre yığılmış bir gövdeyi görmeyi bekler ve bir tane almaz.

Açıkçası, bir yönlendirmenin yanıt gövdesi veya Transfer-Encoding başlığına sahip olmaması gerekir. Üstbilgiyi geçersiz kılmayı deneyebilirsiniz, ancak belki CouchDB onu koşulsuz koşullara ekler, bu durumda düzeltmemiz gerekir, eğer Transfer-Encoding üstbilgisini geçersiz kılmadığını öğrenirseniz, bir hata raporu gönderir misiniz?

Bunun yerine, keyfi bir sayfa getirme bağlamında ne yapacağımı bilmiyorum.

Orijinal Mesaj:

multi-byte veri ile birlikte aynı konu ile ilgilenen bir CouchDB Bug report var. Craigslist ISO-8859-1'de çalışıyor gibi görünüyor, belki de (veya ne getiriyorsunuz) reklamın içinde UTF-8 karakterleri var?

+0

Ayarladım İçerik türü: text/html; charset = utf-8' ve iyi çalışıyor. Öneri için teşekkürler. – Circuits

+0

ayrıca easy.version = Curl :: HTTP_1_0 da yapabilirsiniz – Clark

1

"Bölünmüş ayrıştırıcıda sorun 2 alındı" libcurl bir hata iletisidir. Özel "problem 2", yasa dışı parçalanmış kodlanmış bir akışı tanımlayan dahili bir hata kodu olan CHUNKE_ILLEGAL_HEX'i ifade eder.

Pekka'nın cevabı zaten çoktan ne dedi ...