SORU
3 Aralık 2011, CUMARTESİ


Nasıl düzgün curl kullanırken gzip ' bir sayfa işlemek için?

Bir web sitesi curl kullanarak çıktısını alır bir bash script yazdım ve html çıktısı üzerinde dize manipülasyon bir sürü yapar. Sorun çalıştırdığımda çıkış gzip ' dönen bir site aykırıdır. Bir tarayıcıda bir siteye gidiyor gayet iyi çalışıyor.

Elle curl çalıştırdığınızda, çıkış gzip'.

$ curl "http://example.com"

İşte o özel site Başlığı:

HTTP/1.1 200 OK
Server: nginx
Content-Type: text/html; charset=utf-8
X-Powered-By: PHP/5.2.17
Last-Modified: Sat, 03 Dec 2011 00:07:57 GMT
ETag: "6c38e1154f32dbd9ba211db8ad189b27"
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Cache-Control: must-revalidate
Content-Encoding: gzip
Content-Length: 7796
Date: Sat, 03 Dec 2011 00:46:22 GMT
X-Varnish: 1509870407 1509810501
Age: 504
Via: 1.1 varnish
Connection: keep-alive
X-Cache-Svr: p2137050.pubip.peer1.net
X-Cache: HIT
X-Cache-Hits: 425

Beklendiği gibi döndürülen verileri bu döner html gzip ' çünkü, biliyorum:

$ curl "http://example.com" | gunzip

Senaryoyu diğer sitelerde olduğu gibi çalıştığı için gunzip ile çıkış borusu, istemiyorum, ve gzip ile boru işlevselliği bozar.

Denedim

  1. user-agent (tarayıcı gönderir aynı dize çalıştım, "Mozilla/4.0", vb.) değiştirilmesi
  2. curl adam
  3. google search
  4. stackoverflow arama

Her şey boş geldi

Herhangi bir fikir?

CEVAP
3 Aralık 2011, CUMARTESİ


curl --compressed bayrağı ayarlarsanız otomatik olarak tepki genişletmek:

curl --compressed "http://example.com"

--sıkıştırılmış (HTTP) sıkıştırılmış bir yanıt algoritmaları destekler libcurl kullanarak İstek ve sıkıştırılmamış belgeyi kaydedin. Bu seçenek kullanılır ve sunucu desteklenmeyen bir kodlama gönderirse, curl bir hata bildirir.

gzip büyük olasılıkla desteklenir, ama curl -V çalışan ve bakarak bunu kontrol edebilirsinizlibziçinde bir yerlerde "" hat Özellikleri:

$ curl -V
...
Protocols: ...
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz 

Gerçekten burada kabahatli olan söz konusu web sitesi olduğunu unutmayın. curl Accept-Encoding: gzip bir istek başlığı mı geçti yoksa, server, sıkıştırılmış bir yanıt gönderdi olmamalıdır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blue Lightning TV

    Blue Lightni

    9 EKİM 2011
  • ChannelRichard

    ChannelRicha

    7 Kasım 2008
  • Flash CS6 Video Tutorials for Beginners (Actionscript 3 Gaming)

    Flash CS6 Vi

    14 EYLÜL 2012

İLGİLİ SORU / CEVAPLAR