请求包:response.body不是JSON
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请求包:response.body不是JSON相关的知识,希望对你有一定的参考价值。
我正在使用nodejs request
模块从stackexchange api获取数据。但是,我不了解正文的回复
��V�n�6������$_��Ң�C��MQc�Ԓ���wHɉs�.l��s�>��㆕ڋ�
<C2��ݓ-�T��x]OȄ���T���Y�Z��2Cs�ד;��<Ū�å��Ѭ�՚�O�x����i��+��x:��0�d$��ʬ1(��z]�R2�[�d�xnL��0��� %����T�a���f��hM�wV��Z�߭���($�z �UA�+AJ�w�P;'�BY���L�6�n䖩��;����֏��X?��"B�'�Q5�z[�v+*ka0�(B݉�ޠ�i�)�1D�D���o�ٯ�&��d:FgPNsAE�`:�
1H?j���Fy4O�h��;'�O����#2�H�=`Z)|Rq��J�o+�_�����I��~�d�[TI��pSظ���y�H8����-4
<p���@�X��Y�d�4�jq��Z;����K�������:pu���NGt��ԟDӉ%l��M��8�&4������#d*� �Eʔbj�-, �u��
IpE��!Y�� `;�5��yX-�b)N&S)0�6�-���f��Q��8��f"i�+m�6.�M�sr�B�ST�x��y�6���l�3����
<a[48�Mp@��(���b�'���RA�D�m���n\4.8�.��.���v5jjU���Y��25S�-�]���z�T��'�:��d&�I[��7pv�:��Ф(�3���$g$�1��z`�0��=�+���5px��x����r��u�-�������V�ڼ����,8L��o�%�ږ��wc�#mM��&v�N|���Z�q�pZ?J������K[���Rd��BfX/�O�#ֿ���˷
��3T�mGa�`۴�7�ƕ"[���T������v_�T�@��A����g����ӌN�]��K�,$gJ<��z?���ђ
k��Q�a ����$V66�g�? �H�����1��5�c�Xi���0[i��܍�
�̞Ϝl�*��8d�����C����R0�i3��dfI�b�k]��^he�QX3�Ҏ ;�5/���X�r(��7Z�A.���tR�9D*�F�ű���V�w�o.�ɪt))4�_ҐUI<��ӻb%���'�d|��3���
我希望正文为JSON格式。
我尝试使用JSON.parse(body)
,但会引发此错误
未定义:1 �^
SyntaxError:JSON在位置0处出现意外令牌
这是我的nodeJS应用程序上的代码
var questionId = req.params.id
request.get('https://api.stackexchange.com/2.2/questions/'+questionId+'?order=desc&sort=activity&site=stackoverflow&filter=!9Z(-wwYGT',
json:true, (error, response, body) =>
if(error) res.status(500).json(error)
else
res.status(200).send(body)
)
Stack Exchange需要gzip。默认情况下,请求模块不请求它,因此它假定不需要解码。
根据要求启用gzip:
const request = require('request');
request.get(
url: 'https://api.stackexchange.com/2.2/questions/53684484?order=desc&sort=activity&site=stackoverflow&filter=!9Z(-wwYGT',
json:true,
gzip: true
, (error, response, body) =>
console.log(error, response, body);
);
https://repl.it/repls/AppropriateSarcasticFilesize
假设request
是npm request
module,当您分别传递URL和选项时,request
方法仅允许两个参数(URL或带有URL的选项和回调)。
例如:
get
以上是关于请求包:response.body不是JSON的主要内容,如果未能解决你的问题,请参考以下文章
Postman-----将 A 请求中 response Body 中的参数值传入到下一个请求 B 的 request body 中作为参数发送请求
解决Okhttp3使用post请求后的response.body()为空
Fiddler抓包返回的Response中总是出现"Response body is encoded. Click to decode. "的解决办法
httpclient请求返回响应体,报警告"Going to buffer response body of large or unknown size"的解决方案