通过SIM9000A从MongoDB向Arduino串口监视器传数据遇301错误求助
解决方案
直接使用重定向后的目标URL
浏览器和Postman会自动处理301跳转,但SIM9000A默认不会。先在浏览器访问你的原接口URL,查看最终跳转后的完整地址(可通过浏览器开发者工具的Network面板查看跳转记录),然后把SIM9000A请求的URL替换成这个最终地址,跳过重定向步骤。调整服务器端的重定向配置
你的Rail.app服务器可能默认强制HTTPS或域名跳转,导致HTTP请求被重定向。如果SIM9000A不支持HTTPS,需要在Rail.app的项目设置中关闭强制HTTPS(若平台允许);如果模块支持HTTPS,就把请求协议改成https://,同时给SIM9000A发送AT+HTTPSSL=1开启SSL支持,端口改为443。修改Arduino代码处理301重定向
当收到+HTTPACTION:0,301,0响应时,手动解析响应头中的Location字段,发起二次请求:// 收到301响应后,读取响应头 Serial.println("AT+HTTPHEAD"); delay(1000); // 读取串口输出,提取Location字段的值,比如:Location: https://your-final-url.com/api/data // 提取出URL后,重新设置HTTP URL并发起请求 Serial.println("AT+HTTPPARA=\"URL\",\"https://your-final-url.com/api/data\""); delay(1000); Serial.println("AT+HTTPACTION=0");检查SIM9000A的HTTP参数
确认模块的HTTP配置正确:- 发送
AT+HTTPPARA=\"CID\",1设置正确的PDP上下文 - 如果用HTTPS,必须发送
AT+HTTPSSL=1启用加密 - 端口设置正确:HTTP用80,HTTPS用443
- 发送
内容的提问来源于stack exchange,提问作者Richard
相关产品推荐
相关产品推荐

