Это, вероятно, покажется очень простым вопросом, и я совершенно не понимаю, почему это так сложно для меня.
Я хотел бы написать функцию, которая принимает три ввода: [url, data, cookies], которые будут использовать urllib (не urllib2) для получения содержимого запрошенного URL.
Я подумал, что это будет просто, поэтому я написал следующее:
def fetch(url, data = None, cookies = None):
if isinstance(data, dict): data = urllib.urlencode(data)
if isinstance(cookies, dict):
# TODO: find a better way to do this
cookies = "; ".join([str(key) + "=" + str(cookies[key]) for key in cookies])
opener = urllib.FancyURLopener()
opener.addheader("Cookie", cookies)
obj = opener.open(url, data)
result = obj.read()
obj.close()
return result
Насколько я могу судить, это не работает (кто-нибудь может это подтвердить?), И я в замешательстве.