尝试在JavaScript中使用Fetch with FormData重新创建Python API调用请求

2024-09-28 18:56:28 发布

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

因此,我正在尝试用JavaScript重新创建一个API请求,就像目前在Python中所做的那样

以下是Python程序的重要部分:

        self.data = {'id': username,
                     'pass': password}

        self.session_id = self.post(base_url + loginURLtemplate,
                                    data=self.data).headers

所以本质上,POST请求返回我需要的一切。它返回一个sessionid以及一个连接值“Keep-Alive”。这与邮递员或浏览器中的行为相同

现在谈到我编写的JavaScript程序:

        var formData = new FormData()
        formData.append('id', username)
        formData.append('pass', password)
        var url = base_url

        fetch(url, {
            method: 'POST',
            body: formData,
            credentials: 'include',
            keepalive: true

        })
            .then(r => r)
            .then(data => {
                console.log(data.headers) 
            })

它返回与Python请求类似的回复,但这次它省略了sessionid,并且连接值设置为“close”,而不是“Keep-Alive”

我想知道这是否是由于我写的东西中的错误造成的,或者这是否是在JavaScript中使用fetchwebapi的一个缺点。它似乎成功地命中了服务器,但收到的回复与浏览器发送请求的行为不同(与Python请求类似)


Tags: self程序idurldatabaseusernamepass