node.js - 请求模块返回 unicode 字符
问题描述
我正在尝试使用node.js 中的请求模块获得正常响应,但我无法从 amazon.com 获得正常字符串的响应,我不知道为什么,但我只遇到了 amazon.com(例如 amazon.com)的问题。它,amazon.co.uk 确实返回正常字符串)。
const request = require('request');
request.get(
{
uri: 'https://www.amazon.com',
encoding: 'utf-8'
},
function (error, response, body) {
console.log(body)
});
上面的代码返回类似:b��╝��W>�S�Uk��z�=8~r����9|r|P^?}po╗��l���������� `ޜ^]��n!������U�>>�@�wz�.��O������Oo��������y�����g�N /��{����_>���i�=s���w?�z��_W)���;�<em>��2��9<�0ٷ8��� �<=�ϱ��ղ��3�=(�"�ԯ�; �3��=�8�2;=��28����#+,3��0"�+DZ �)�2�<� ���7�(W?�8�9\?�)#'����";�������ѽ����|�8��╚ � '
解决方案
亚马逊返回的响应是 gzip 压缩的。您必须根据gzip
您的请求提供选项。
const request = require('request');
request.get(
{
uri: 'https://www.amazon.com',
gzip: true,
},
function (error, response, body) {
console.log(body)
});
推荐阅读
- c# - ASP.NET CORE MVC - 来自其他休息的令牌 - 身份验证属性
- node.js - MongoDb:存储时间范围的最佳方式
- java - 如何在 jOOQ 中使用 formatJSON(JSONFormat) 正确格式化生成的 JSON 类型的常规结果?
- javascript - 在 iPad mini 上未正确检测到视口
- java - 如何反序列化动态生成的 JSON 对象?
- javascript - 如何去抖动 Lodash 调用以正确获取 Typescript?
- arrays - MongoDB $lookup 用对象数组替换 _id 数组,而不将数组转换为对象并删除字段
- flutter - FAILURE:构建失败并出现异常。(FLUTTER)
- html - 内部 div
- 工作正常,但
- 不管用。如何解决这个问题?
- ios - 如何更改在 SwiftUI 中的 forEach 内动态创建的按钮的颜色