node-red中使用http请求节点调用和风天气api获取不到正确的数据
流程图和http请求节点配置卡片如下图
debug出来的数据如下图
从网页进行api请求的结果为下图
尝试加入了一些请求头部参数,如accept-encoding,content-type,authorization等,依然无效,第一开始没有添加gzip节点进行数据解压,debug的数据是乱码,后来加入了gzip节点进行解压,解决了乱码问题,但依然得不到正确的数据,不知道是哪里出了问题
有没有懂得帮忙看看,为什么在node-red中进行风天气的api请求无法获得正确数据呢
在Node-RED中进行HTTP请求的最简单的方式是使用http request节点。以下是一个使用该节点发送HTTP POST请求的示例:
添加http request节点到 Node-RED 工作区
双击该节以打开配置对话框
在 URL 中输入请求的 URL
在方法字段中选“POST”
在标题中添加任何必须的请求头
在Payload中输入请求的数据
下面是一个演示http request节的配置:
HTTP 请求节点配置
在这个例子中,我们将发送一个HTTP POST请求到http://example.com/api%EF%BC%8C%E8%AF%B7%E6%B1%82%E4%BD%93%E6%98%AF%E4%B8%80%E4%B8%AAJSON%E5%AF%B9%E8%B1%A1%EF%BC%9A%7B "name": "John", "age": 30 }。
根据提供的信息,似乎请求已经成功了,只是返回的数据有问题。建议尝试使用一个HTTP Response节点来查看API返回的原始数据,看看是否能够得到正确的数据。如果可以得到正确的数据,那么问题可能是与JSON解析有关的。可以尝试在HTTP Request节点中将响应数据的content-type设置为application/json,然后使用一个JSON节点来解析数据。如果问题仍然存在,请提供更多信息,例如请求返回的原始数据。
在Node-Red中处理HTTP请求内的MQTT通信 | http
可以借鉴下
https://www.lmlphp.com/user/151691/article/item/3782259/
以下答案由GPT-3.5大模型与博主波罗歌共同编写:
可能是由于API请求所使用的URL不正确或者缺失了重要的请求参数导致的。建议具体检查以下内容:
检查API请求的URL是否正确,包括协议、主机名、端口号和请求路径等部分,以及查询参数和路径参数是否正确。
检查API请求所需要的鉴权参数是否正确、有效,并已在请求头或请求体中正确携带。
检查API文档或接口说明,确认请求所需的各个参数,并在请求头或请求体中正确设置它们。
尝试对请求进行更细致的调试,例如查看请求的response返回状态码或errorMessage信息,以获得更多的信息帮助诊断问题。
此外,您可以在代码中添加更多的调试语句或使用调试工具,如Postman等进行进一步调试。
如果我的回答解决了您的问题,请采纳!