我有一个工作的node.js脚本,它使用node.js请求模块编写。 我试图用会话模块将这个脚本转换为python。 我是python的新手,我按照python文档中提到的那样学习了它。 但我正在努力让我的代码正常工作。 我遇到的问题是用会话模块在后续请求中发送cookie值。 根据文档,它正在保存cookie,并在之后的任何请求中自动发送它们。 但是
下面是我的工作node.js脚本
const request = require('request');
const fs = require('fs');
const getOptions = {
jar:true,
followAllRedirects:true,
method:'GET',
url:'https://dummyurl.com'
};
request.get(getOptions,(err,response,html)=>{
if(err){
console.log('error in request');
console.log(err);
}
else {
const postOptions = {
jar:true,
followAllRedirects: true,
method:'POST',
url:'https://dummyurl.com',
form:{
'data':{
'page':2
}
}
};
request.post(postOptions,(err,response,html)=>{
if(err){
console.log('post err');
console.log(err);
}
else {
fs.writeFileSync('pyres.html',html,'utf8');
}
})
}
});
这是我对上面脚本的python转换
s = requests.Session()
url= 'https://dummyurl.com'
response = s.get(url)
print(response.cookies)
data_url = 'https://dummyurl.com/'
postData = {
"data":{
"page":2
}
}
resultResponse = s.post(data_url,data=postData)
print(resultResponse.content)
谁能指出这个代码中有什么错误吗?
实际上问题出在数据格式上。 在nodejs中,我这样发布它
{'data':{'page':2} }
但在python中应该这样转换
{
'data[page]': '2'
}
我不确定为什么它不能在python中正常的json格式下工作