# İçeren URL ile wget


11

Benzer bir URL indirmeye çalışıyorum http://www.somesite.com/restaurants.html#photo=22x00085.

Tek tırnak işaretleri arasına koydum, ancak sadece doğru sayfa olmayan http://www.somesite.com/restaurants.html dosyasını indirir .

Bir çözüm var mı?


Bunu şimdi test edemiyorum, ama hatırladığım kadarıyla% 20 alan için çalışıyor, bu yüzden% 23 muhtemelen # için çalışacak (% 23 # için yüzde kodlamasıdır)
lupincho

3
aynı HTML dosyası değil mi? #, Web tarayıcısına sayfanın belirli bir bölümüne atlamasını söyleyebilir.
barlop

Yanıtlar:


20

wgetiyi çalışıyor. URI, sözdizimi bu belirtir fragmanı - #fookısım - olan tamamen istemci tarafı yorumlanır ve belgenin kendisini alınırken kullanılmaz için.

Örneğin, bir HTML sayfasıysa, tarayıcı adlandırılmış bir bölüme ilerleyebilir veya - durumunuzda - belirli bir fotoğrafı gösteren bazı JavaScript kodlarını tetikleyebilir.

Başka bir deyişle, wgetURI'ler

  • http://www.somesite.com/restaurants.html#photo=22x00085 ve
  • http://www.somesite.com/restaurants.html

... aynı sayfayı gösterin /restaurants.html . Gerisini yapmak tarayıcınıza kalmış. Açılış restaurants.html#photo=22x00085tarayıcıda cezası çalışmalıdır.


8

Uygun bağlantıyı ziyaret etmeden hangisinin olduğunu söyleyemem, ancak sadece iki seçenek var:


URL parçasını bu şekilde kötüye kullanan birçok site gördüm; listenin başında Google var. Bu, bir sürü RFC'yi ihlal ediyor, ancak "işe yarıyor" dan beri pek çok insan umursamıyor gibi değil ...
Michael Hampton

1
@MichaelHampton: Tam olarak hangi RFC'leri ihlal ettiğini belirtebilir misiniz?
user1686

@grawity RFC 2396, bölüm 2.4.3, # ifadesinin herhangi bir URI'nin parçası olmadığını söylemek için okunabilir. Bu, RFC 3986'da hiçbir şey tanımlamayacak kadar belirsiz olarak rahatlamış görünüyor.
Rich Homolka

1
@RichHomolka: Sadece "foo # bar" ın aslında URI (veri almak için kullanılır) ve parçadan (kullanıcı aracısına bırakılan yorum) oluşan bir "URI-Referansı" olarak adlandırıldığı söylenir. Yalnızca parça aslında bir HTTP isteğinde gönderildiyse ihlal edilir.
user1686

0

Resmin URL'si bu değil. Görüntüyü getirmek için bir komut dosyası veya başka bir kod kullanan bir sayfanın URL'sidir. Sayfayı JavaScript kapalı olarak yüklemeyi deneyin. Wget sizin için getiriyor.

Resmin URL'sini bulmak için, tarayıcınız üzerinden sayfayı ziyaret etmeyi ve ardından fotoğrafı sağ tıklamayı deneyin. URL'si de dahil olmak üzere resim hakkındaki bilgileri görüntüleme seçeneği olmalıdır.

Bu işe yaramazsa, bunun nedeni görüntünün Flash veya başka bir istemci tarafı programı aracılığıyla yüklenmesi olabilir. Yüklenecek URL'yi izlemek için Fiddler veya Wireshark'ı kullanabilirsiniz.

Bize resmin bulunduğu sitenin gerçek URL'sini verirseniz, resmin nasıl yüklendiğini belirlemenize yardımcı olabiliriz.

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.