Express JS 将换行符类型更改为 CRLF

问题描述

我正在尝试从 Flutter 应用程序向在 Ubuntu 机器上运行的 Express-JS 服务器发出 HTTP 请求。较新版本的 Flutter(v1.22.5) 在发出请求时抛出以下错误

E/Flutter (29477): [ERROR:Flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: Invalid response,unexpected 10 in reason phrase

发出请求的代码如下所示:

final response = await http.get(
                      'http://XX.XX.XXX.XXX/employees',//Hiding IP address for privacy purposes
                      headers: {
                        "Content-Type": "application/json","Authorization": api_key,},);
                    print(response.statusCode);

我可以通过使用 HTTP-Tester Insomnia 确认查询的 URL 确实返回了信息。

问题似乎是已知的,可以查看here

根据 Github-Thread,问题是由于标题中的换行符格式错误。 如何告诉 Express JS 使用 CRLF?

解决方法

对于任何遇到这个问题的人,我通过重新配置我的 API-Server 修复了它。仔细检查这个问题会得出结论,应用程序和 API 都不是坏的,因为实际上没有 API 请求确实到达我的 API 代码。我只是通过查看日志来解决这个问题。就我而言,是 NginX 作为反向代理无法正常工作。我按照 this 教程正确设置它。