我是Python新手,但我想我在研究3小时后处理问题并不算太糟糕。 由于cookie,我的POST请求绕过登录墙,但它从不在页面上发布我想要的信息。 :(
这是我的代码:
import requests
url = "url"
headers = {
'Cookie': 'cookie',
'Content-Type': 'multipart/form-data',
'Accept': 'text/html,application/xhtml+xml',
'Accept-Language': 'en-gb,en;q=0.5',
'Accept-Encoding': 'gzip,deflate',
'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'Keep-Alive': '300',
'Connection': 'keep-alive',
'Content-Length': '41'
}
payload = {
'seo_page[keyword]': 'test',
'commit': 'Save'
}
p = requests.post(url, data=payload, headers=headers)
print p.text.encode('utf8')
print p.encoding
print p.headers
我认为,在我阅读的有关如何在webform页面上发布数据的15个主题中,我确切地建议了这一点。
print p.text.encode('utf8')给了我没有我想要发送的数据的HTML。
有什么想法吗? :)
非常感谢!
答案 0 :(得分:0)
一切都好! POST请求设置正确但由于边缘情况,它仍然不接受数据: 我尝试POST的网站是在Ruby on Rails上开发的,它要求一个额外的身份验证令牌(为了避免CSRF攻击而开发)。
干杯!