SORU
12 HAZİRAN 2009, Cuma


Nasıl urllib bilmek.urlretrieve başarılı olur?

urllib.urlretrieve http dosya uzak sunucuda mevcut değilse bile dönmesiyle, sadece ismi belirtilen dosya için bir html sayfası olarak kaydeder. Örneğin:

urllib.urlretrieve('http://google.com/abc.jpg', 'abc.jpg')

eğer abc.jpg google.com sunucu mevcut değilse bile sessizce sadece döner, oluşturulan abc.jpg geçerli bir jpg dosyası değil, aslında html bir sayfa . İade başlıklar (httplib.sanırım Örnek HTTPMessage) aslında alma başarı olup olmadığını söylemek için kullanılabilir, ama httplib.HTTPMessage herhangi bir doktor bulamıyorum.

Kimsenin bu sorun hakkında biraz bilgi verebilir mi?

CEVAP
12 HAZİRAN 2009, Cuma


Mümkün olması halinde urllib2 kullanmayı düşünün. Daha gelişmiş ve urllib kullanımı daha kolaydır.

Herhangi bir HTTP hataları kolayca tespit edebilirsiniz:

>>> import urllib2
>>> resp = urllib2.urlopen("http://google.com/abc.jpg")
Traceback (most recent call last):
<<MANY LINES SKIPPED>>
urllib2.HTTPError: HTTP Error 404: Not Found

resp aslında çok faydalı şeyler yapabilirsiniz HTTPResponse nesne:

>>> resp = urllib2.urlopen("http://google.com/")
>>> resp.code
200
>>> resp.headers["content-type"]
'text/html; charset=windows-1251'
>>> resp.read()
"<<ACTUAL HTML>>"

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Official Android Tips

    Official And

    23 EYLÜL 2009
  • Kim Barbin

    Kim Barbin

    3 Mayıs 2012
  • RaverX DouBle StAg XI

    RaverX DouBl

    23 Mayıs 2008