当前位置 : 主页 > 网页制作 > Nodejs >

node.js – Axios:请求标头上缺少Content-Length标头

来源:互联网 收集:自由互联 发布时间:2021-06-16
我们在生产中遇到的问题是,即使我们在头文件属性中对其进行硬编码,也不会发送’Content-Length’标头,因此我们从服务器接收411 Length Required错误. 我们正在使用: Axios 0.16.2 NodeJS 6.10 在
我们在生产中遇到的问题是,即使我们在头文件属性中对其进行硬编码,也不会发送’Content-Length’标头,因此我们从服务器接收411 Length Required错误.

我们正在使用:

> Axios 0.16.2
> NodeJS 6.10
>在AWS Lambda环境中部署的应用程序

导致此问题的代码如下:

let cookieJar;
const postBody = "MyBody=MyBodyContentGoesHere";
const url = "https://my-url.com";
return axios
        .post(url,
            postBody,
            {
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded'
                },
                timeout: 10000,
                jar: cookieJar,
                withCredentials: true
            }
        );

我在.NET中编写了一个应用程序,并且正确发送了头文件(无需手动传递).这个.NET应用程序只是为了测试而编写的,它不是真正的应用程序.

你有什么想法吗?
我在axios github项目中打开了一个问题,但我想向你们了解一些想法.

谢谢.

您是否尝试在配置对象中添加“数据”字段?

let cookieJar;
const postBody = "MyBody=MyBodyContentGoesHere";
const url = "https://my-url.com";
return axios
    .post(url,
        postBody,
        {
            data: postBody,
             headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
            },
            timeout: 10000,
            jar: cookieJar,
            withCredentials: true
        }
    );
网友评论