Я пытаюсь запустить следующий простой код:Python urllib2 дает ошибку 503
import urllib2
import base64
username = "some_user"
password = "some_pass"
url = "some_url"
req = urllib2.Request(url)
authheader = "Basic %s" % base64.encodestring('%s:%s' % (username, password))
req.add_header("Authorization", authheader)
req.add_header('User-agent', 'Mozilla/5.0')
resp = urllib2.urlopen(req)
print resp.read()
Он отлично работает на окнах, но на той же машине под Linux он не работает, это дает исключение URL с кодом 503. Я уверен, что с сервером проблем нет, потому что он отлично работает с Mozzila и curl (как под lin, так и с win). Что может вызвать эту проблему?
Какое исключение он выбрасывает? –
Он выбрасывает URLError с кодом 503 (Service Unavailable) - но я уверен, что сервис доступен, потому что я попробовал его с Mozzila и завиток. (503 в документах: http://docs.python.org/release/2.6/howto/urllib2.html) – user1724641
Я подозреваю, что это связано с base64 и utf. Имеет ли ваш файл кодировку utf8? Попробуйте добавить это ontop: '#!/Usr/bin/env python # - * - кодирование: utf-8 - * -' –