首先,谁能帮我解决这个问题,我从心底里感谢你。这是非常令人沮丧的。当我执行 GET 请求时,我收到 603 错误。
好。我正在使用sim900,并希望向 no-ip.com 的更新服务器发送HTTP get请求。更新 URL 的格式在此处给出 -> http://www.noip.com/integrate/request
我创建了一个免费帐户,并希望从sim900更新我的域名(其形式为"xyz.ddns.net"),因为我将把它连接到微控制器并将其配置为像服务器一样运行并将数据发送到PC(数据将是一些传感器数据。使用像noip这样的动态DNS服务对我从工作PC连接到我的设置非常有帮助,因为每当用户按下GUI界面中的按钮时,PC都会从MCU请求传感器数据。
我使用的命令是这些>
AT //Just to check
AT+CSQ // To check the signal quality
AT+CGATT=1 //Attach to a GPRS network
At+CIPSHUT //to close any earlier session
AT+SAPBR =3,1,"CONTYPE","GPRS" //I am using context ID 1
AT+SAPBR = 3,1,"APN","airtelgprs.com"
AT+SAPBR=4,1 // This prints out the expected output with the updated APN and CONTYPE
AT+SAPBR =1,1
//Now I open a HTTP session
AT+HTTPINIT
AT+HTTPPARA="URL", "http://myusername:mypassword@dynupdate.no-ip.com/nic/update?hostname=xyz.ddns.net" //The my ip part is optional according to the no-ip guys.
AT+HTTPPARA="REDIR","1"
AT+HTTPPARA="CID","1" //Actually CID is 1 by default. Still typed this command. No difference.
AT+HTTPACTION=0 //GET request
Output of this is: 0,603,0
SIMComm文档表示,这意味着DNS错误。在上述命令或设置中,我错过了导致此错误的什么?如果你们需要更多信息,请告诉。
再次提前感谢。
根据我发送此类更新请求的经验总是失败,Dyndns 文档解释了如何发送 RAW HTTP 请求。我用过它并且效果很好。检查 No-ip 文档以获取确切的原始 Http 请求。
Dyndns 文档提到了您用于 Web 浏览器和实用程序的方法。
网址中的身份验证
对于Web浏览器或实用程序(fetch,curl,lwp-request) 可以解析 URL 中的身份验证部分。
http://username:password@members.dyndns.org/nic/update?hostname=yourhostname&myip=ipaddress&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG
原始 HTTP GET 请求
实际的 HTTP 请求应类似于以下片段。请注意, 有一组最少的标头。应遵循请求 通过发送空行。
片段 base-64 授权应由 base 64 表示 编码的用户名:密码字符串。
GET /nic/update?hostname=yourhostname&myip=ipaddress&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG HTTP/1.0 Host: members.dyndns.org Authorization: Basic base-64-authorization User-Agent: Company - Device - Version Number
请注意,虽然允许 POST 请求,但 处理后,我们不鼓励开发人员使用它们。我们可能会停止 随时处理 POST 请求,恕不另行通知。