完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试访问我的 Wemos D1 mini 上的 API ( https://api.coronavirus.data.gov.uk ),并对 JSON 数据执行一些操作。问题:HTTP 客户端正在取回压缩的页面内容(例如“^_<8b>^H^@.Hï_^BÿíÙÁjÃ0^L^Fàw”)。我想我现在已经将其识别为 gzip 压缩内容,方法是在带有 --compressed 标志的 cURL 中尝试它——这成功地解码了内容。我无法弄清楚的奇怪部分是,对于其他 API(例如 github)- 内容根据标头进行 gzip 压缩,但在 D1 mini 上解压缩后返回,因此读取它没有问题。有人可以帮忙吗?
代码:全选#include #include #include #include #include const char* host = \"https://api.coronavirus.data.gov.uk\"; // const char* host = \"https://api.github.com\"; int httpsPort = 443; const char* ssid = \"ssid\"; const char* password = \"password\"; void setup(void){ Serial.begin(115200); WiFi.begin(ssid, password); Serial.println(\"\"); // Wait for connection while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print(\".\"); } Serial.println(\"\"); Serial.print(\"Connected to \"); Serial.println(ssid); Serial.print(\"IP address: \"); Serial.println(WiFi.localIP()); } void loop() { WiFiClientSecure client; client.setInsecure(); //the magic line, use with caution client.connect(host, httpsPort); HTTPClient https; Serial.print(\"[HTTPS] begin...\\n\"); if (https.begin(client, \"https://api.coronavirus.data.gov.uk/v1/data?filters=areaType=nation;areaName=england&structure=%7B%22name%22:%22areaName%22%7D\")) { // HTTPS // if (https.begin(client, \"https://api.github.com\")) { // HTTPS Serial.print(\"[HTTPS] GET...\\n\"); // start connection and send HTTP header int httpCode = https.GET(); // httpCode will be negative on error if (httpCode > 0) { // HTTP header has been send and Server response header has been handled Serial.printf(\"[HTTPS] GET... code: %d\\n\", httpCode); // file found at server if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) { String payload = https.getString(); Serial.println(payload); } } else { Serial.printf(\"[HTTPS] GET... failed, error: %s\\n\", https.errorToString(httpCode).c_str()); } https.end(); } else { Serial.printf(\"[HTTPS] Unable to connect\\n\"); } Serial.println(\"Wait 20s before next round...\"); delay(200000); } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
142 浏览 1 评论
550浏览 6评论
460浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
441浏览 5评论
444浏览 4评论
415浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 19:38 , Processed in 0.767591 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号