错误 +HTTPACTION:0,601,0
Posted
技术标签:
【中文标题】错误 +HTTPACTION:0,601,0【英文标题】:error +HTTPACTION:0,601,0 【发布时间】:2013-04-05 04:46:08 【问题描述】:我正在尝试使用 sim900 GSM 模块访问网站。 这是命令列表
AT+CSQ
+CSQ: 16,0
OK
AT+HTTPINIT
OK
AT+HTTPPARA="CID",1
OK
AT+HTTPPARA="URL","www.google.com"
OK
AT+HTTPACTION=0
OK
+HTTPACTION:0,601,0
AT+HTTPACTION=0
OK
+HTTPACTION:0,601,0
无法访问谷歌。 601 代码显示网络错误。 如何摆脱这个错误?
【问题讨论】:
***.com/a/69513173/8119511 【参考方案1】:您需要设置与承载的连接。以下是对我有用的最低设置命令(基于试验/错误并在 Internet 上搜索)。
AT+SAPBR=3,1,"APN","wap.cingular"
AT+SAPBR=1,1
您的 APN 正确值可能会有所不同,具体取决于您的网络和服务提供商。我正在使用 AT&T 预付费 SIM 卡。一旦它工作了,那么你就可以像你已经拥有的那样执行 HTTP 设置命令......
AT+HTTPINIT
AT+HTTPPARA="URL","http://www.google.com"
AT+HTTPACTION=0
在 HTTP 标准中未分配 600 以上(以及一些在 500 范围内)的状态代码。在SIM908的AT指令手册中,状态含义在HTTPACTION
指令的注释中给出:
600 Not HTTP PDU
601 Network Error
602 No memory
603 DNS Error
604 Stack Busy
AT+SAPBR=2,1
可以查询CID 1的承载连接状态,AT+SAPBR=4,1
可以查询相关参数。您还可以使用AT+CGATT?
检查您是否已连接到 GPRS 网络。如果一切都表明您已连接并且您仍然收到 601 状态代码,请检查您的服务计划是否有数据并且它没有用完。我发现即使我的帐户余额显示有几百 k 的数据,我也会开始获得 601 状态,直到我将更多数据添加到我的预付费电话计划中。如果 SIM 模块一直处于开启状态并且您添加了更多数据,您需要关闭并重新打开您的连接(AT+SAPBR=0,1
后跟 AT+SAPBR=1,1
)然后您的 HTTP*
命令将重新开始工作,而无需必须再次设置 HTTPPARA
设置,而无需使用 HTTPINIT
重新启动。
【讨论】:
【参考方案2】:我发现当对仅 https 的网站进行 http 调用时,它会在 sim 卡上引发 601 错误。当心一些 sim 设备有 ssl 而有些没有。使用 AT+HTTPSSSL=?审问。带有 ssl 的设备将响应“HTTPSSSL 1”。如果您收到错误,您的设备没有 ssl。这需要我与工厂合作才能确定。
您还必须使用访问 ssl 站点。我使用的是 wifi101 ssl 客户端。
fona.setHTTPSRedirect(true); dy3
【讨论】:
【参考方案3】:我也遇到过这个错误。问题的原因可能是电话号码帐户中没有足够的钱。你可以检查一下。
【讨论】:
【参考方案4】:601 是一些自定义实现的错误代码。
Here是标准HTTP Status codes的列表
+HTTPACTION:0,601,0
上述用于 HTTP 会话开始的 AT 响应代码 (601) 表示 有网络错误。然后确保已设置 PDP 上下文 正确。
source
https://m2msupport.net/m2msupport/at-command-for-http-functions-for-remote-server-data-access/
【讨论】:
【参考方案5】:我现在在这个模块上花了很多时间。
我的经验是,当您没有从远程服务器收到 200 回复时,您应该检查 IP 地址以验证您是否仍在网络上向工作服务器发送 ping (AT+CIPPING="XX.XX.XX.XX"
)。
如果成功:尝试AT+SAPBR=2,1
和AT+CIFSR
。您应该为这两个命令获得相同的地址。
如果您没有获得相同的地址,请使用AT+CIPCSGP=1
、"yourapn.com"
、"user"
、"password"
再次登录网络/服务。
如果没有任何效果,请关闭模块。等待几分钟,然后重新启动。
【讨论】:
我认为这个答案需要进行一些编辑以使其更容易理解 - 例如,使用项目符号/编号可能会有所帮助。我有点不愿意介入并编辑自己,因为我可能会在不经意间改变一些重要的事情。【参考方案6】:以防万一有人受到这个问题的影响并在 4 年后偶然发现这篇文章:在我的例子中,模块有一个小的“贴纸”型天线,它以某种方式损坏了。
我可以连接到网络,但是当我尝试通过 GPRS 网络使用 HTTP 时,我只收到返回代码 601(网络错误)或 603(无法解析 DNS)。
一旦我用新的天线更换了天线,一切正常。
【讨论】:
【参考方案7】:再次,以防有人遇到同样的问题。就我而言,这是 url 中的错字:
AT+HTTPPARA="URL"," http://www.google.com"
你注意到http
前面的空格了吗?几个小时,我也没有注意到。
【讨论】:
【参考方案8】:通常在此命令之后 AT+SAPBR=3,1,"CONTYPE","GPRS" 您输入您的“APN”、“USR”和“PWD”详细信息也使用 SAPBR=3,1 等。这些详细信息必须匹配SIM 卡/手机提供商。
然后建议检查您的设备现在是否已收到 IP 地址。有时这不是马上的。使用 AT+SAPBR=2,1 查询,这将返回您的 IP 地址,您应该检查确认。
一旦你有了 IP 地址,你就可以输入 AT+HTTPINIT, AT+HTTPPARA="CID",1 等等。
现在要使用 GET,您必须包含一个“?”在 URL 之后为您的 php 脚本提供 key=value 对。
因此,在您的情况下,它类似于 AT+HTTPPARA="URL","http://
现在发送 AT+HTTPACTION=0,您应该会收到 +HTTPACTION: 0,200,1000 响应,其中 200 是 OK,1000 是有效负载大小。如果需要,AT+HTTPREAD 将允许您读取响应。
【讨论】:
【参考方案9】:更改网址。 601 是URL has been moved
。是重定向。
【讨论】:
-1: 找不到任何证据表明 601 表示 URL 已被移动。而在 SIM900 手册中,601 绝对是“网络错误”的意思。以上是关于错误 +HTTPACTION:0,601,0的主要内容,如果未能解决你的问题,请参考以下文章