【问题标题】:node request vs python session节点请求与 python 会话
【发布时间】:2020-06-25 12:40:26
【问题描述】:

我有一个使用 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)

谁能指出这段代码中的任何错误?

【问题讨论】:

    标签: python node.js session node-request


    【解决方案1】:

    实际上问题出在数据格式上。 在nodejs中我像这样发布它

    {'data':{'page':2} }
    

    但在python中应该这样转换

    {
        'data[page]': '2'
    }
    

    不知道为什么它不能在 python 中以正常的 json 格式工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      • 1970-01-01
      • 2018-09-02
      • 2023-03-11
      • 2011-06-15
      • 2020-07-01
      • 2018-11-11
      相关资源
      最近更新 更多