python3中的HTTP客户端不发送cookies

2024-03-29 14:30:33 发布

您现在位置:Python中文网/ 问答频道 /正文

刚开始在Python中使用HTTP。我认为与使用curl或wget的脚本相比,独立于平台是件好事,但我对它很着迷。。。 什么是最先进的?请求?urllib2?有/没有“开场白”?在

不管怎样,请求似乎有点作用,但我被重定向到“启用cookies”页面。这是我用的。我试图启用http调试,但它根本没有显示请求/响应?!在

编辑:名字不是key1,key2,当然-URL不是some.page.com网站-我以为那很明显,对不起。在

import urllib.request as urllib2
import http.client
http.client.HTTPConnection.debuglevel = 1

post = {'key1': 'value1',
        'key2':'Value2',
       }
url = 'http://some.page.com'

req = urllib2.Request(url,urllib.parse.urlencode(post).encode('ascii'))
req.addheaders = [
    ('Cookie','key1=value1;key2=value2;')
    ('User-Agent', 'Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0'),
    ('Content-Type','application/x-www-form-urlencoded'),
    ('Content-Length','42')
]

resp = urllib2.urlopen(req)
with open('out.htm', 'w') as f:
    f.write(resp.read().decode(f.encoding))
    f.close()

Tags: importcomclienthttpurlaspagesome