Wget'ı gerçek dosya adını kullanmaya zorla


50

Kullanırken wgetGoogle Dokümanlar bazı dosyaları indirmek için bir komut, dosyanın adı korunmaz. Örneğin:

wget 'http://spreadsheets.google.com/pub?key=pyj6tScZqmEfbZyl0qjbiRQ&output=xls' 

dosyayı bunun pub?key=pyj6tScZqmEfbZyl0qjbiRQyerine kaydeder, indicatorhivestimatedprevalence15-49.xlstarayıcıdaki bağlantıya tıklarsam ne alırsam onu ​​alırım. Bu "tarayıcı benzeri" davranışını zorlamanın bir yolu var mı wget?

Yanıtlar:


90
wget --content-disposition 'http://spreadsheets.google.com/pub?key=pyj6tScZqmEfbZyl0qjbiRQ&output=xls'

hile sizin için yapacak.

Hala tam olarak uygulanmadı ve bazen biraz hata yapıyor gibi görünüyor, bu yüzden varsayılan seçenek değil, wgetriski kendi sorumluluğunuzda kullanın.


1
Biliyorum...! Güzel ha? ;)
Bruno Pereira

Gerçekten bir web programcısı değilim, bu yüzden "içerik kullanımı" ifadesini aramayı hiç düşünmezdim. HTTP başlıklarına manuel olarak bakmam, içerik yerleştirme başlığını keşfetmem ve başa çıkmam için beni kurtardınız.
Chinmay Kanchi

WOW + şaşırtıcı. Çok iyi bir fikir.
Kangarooo

@BrunoPereira, google elektronik tablo dosyasını da indirmeye çalışıyorum. Ancak dosyanın bağlantısını bulamadım. Wget’i Chinmay Kanchi ile aynı şekilde kullanabilmem için bir google elektronik tablo dosyası için bağlantıyı nasıl bulacağınızı söyleyebilir misiniz? Şimdiden teşekkürler.
user22180

@ChinmayKanchi Son 15 yıldır kendime bir web programcısı diyorum, ancak bu konuya gelince her zaman kodda daha anlamlı bir isim kullanmaya çalışıyorum.
tishma


0

Google Dokümanlar bağlantısı, sunucuda çalışmasını ve istediğiniz dosyayı ayrıştırmasını sağlar. Bildiğim kadarıyla, dosya els formunda sunucuda hiç bulunmuyor, ancak çalışma zamanında istediğiniz zaman üretiliyor. Böylece, wget almak için bir şey yok.

Dosyayı indirmek için google API http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#DownloadingDocs/ adresini kullanmanız gerekir .


Evet, sunucu .xlsanında dosyayı yaratan bir komut dosyası çalıştırmasını istiyor . Ancak, tam gelişmiş bir tarayıcıda bununla bir sorunum yok. Bu nedenle, Dokümanlar API'sı olmadan yapmanız kesinlikle mümkün.
Chinmay Kanchi

Benim düşüncem, tarayıcıda çalışan betiğin API'yi kullanmasıydı, bu yüzden tarayıcı olmadan yapmak için, betiği yeniden oluşturmak zorunda kalacaktı. İlginç bir şey bunun için bir bayrak.
Ethan
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.