Ayrıntılı modda filtre kıvrılma başlığı çıkışı


0

curl -v ...Örneğin giriş ve çıkış başlıklarını basan ayrıntılı modu kullanma . Ancak, bu bilgi borulu değil ve ihtiyacım olan hatları grep-out olamaz.

Curl header çıkışını nasıl filtreleyebilirsiniz?

Yanıtlar:


1

Başlık çıktısı curlstandart hataya yazdırıldı. Bu nedenle, yeniden yönlendirme kullanmanız gerekir; örneğin, Content-Lengthbaşlıktan sıyrılarak :

curl -v google.com 2>&1 | grep -vi content-length

2

curl -v(Ayrıntılı mod) kullanmak yerine, curltüm ekstra hata ayıklama işleri olmadan başlıkları STDOUT'ye çıktısını almak ve cesedi yanıttan çıkarmaktır. Bu yolla, tam olarak yanıt başlıklarını araştırabilir, kabuk yeniden yönlendirme ihtiyacından kaçınabilir ve filtrelemenizin curliç hata ayıklama mesajlarını (muhtemelen kendi API'sinin bir parçası olarak kabul edilmeyen) anlamak ve ayrıştırmak zorunda kalmayacağını bilirsiniz .

Bunu yapabilecek birleştirerek -I(damla gövdesini), -X«METHOD»(geçersiz kılma yöntemi) ve -sparametreleri (sessiz, ilerleme çubukları damla) .

curl -sIXGET https://www.google.com/ | grep -vi content-length
  • -silerleme çubuklarını gizleme talimatı curlverir . İhmal edilir ve bir terminalde çalıştığını tespit ederse, boruyu atlar ve genellikle faydasız olan ve terminali sıkıştıran ilerleme çubukları göstermek için doğrudan terminalle konuşur.curl
  • -Italimatını curlbaşlıklar alındıktan yerine vücut için bekledikten sonra sunucudan bağlantısını kesmek için. Bu, aslında, sorunuzda belirtildiği gibi, yalnızca HTTP yanıt başlıklarıyla uğraşmakla ilgileniyorsanız yararlıdır . Ayrıca, istek yöntemini belirttiğiniz HEADgibi değiştirmenin de yan etkisi vardır -XHEAD.
  • -X«method»(örneğin, -XGET) yöntemi geçersiz kılar. Çoğu durumda, HEADisteğin ne istediğidir çünkü HTTP standardı HEADaynı başlıkları aynı GETistekle döndürmesi gerektiğini söyler . Bununla birlikte, bir sunucuda hata ayıklama yaparken veya standarda uymayan biriyle çalışırken, curlbir GETtalepte bulunma talimatını vermek, ancak yanıt kuruluşunu okumadan önce bağlantıyı kesmek yararlı olabilir . Bu şekilde, görebileceğiniz gerçek sunucu yanıt olarak göndermek istiyorum başlıkları yerine sunucusunun doğru uygulanan umuduyla.GET
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.