这是本文档旧的修订版!
小辣椒动态域名更新API
Client的请求应该使用HTTP/1.0以上协议,Server的响应一定为HTTP/1.0
需要事务处理,Client发送完整的请求,并且解析服务器端的相应,保证域名更新的成功
1. 通过URL认证 (所有的在一行) http://username:password@members.3322.org/dyndns/update?system=dyndns&hostname=yourhost.ourdomain.ext&myip=ipaddress&wildcard=OFF&mx=mail.exchanger.ext&backmx=NO&offline=NO
2. HTTP GET 或 HTTP POST 请求
1) dyndns, statdns GET /dyndns/update?system=statdns&hostname=yourhost.ourdomain.ext&myip=ipaddress&wildcard=OFF&mx=mail.exchanger.ext&backmx=NO&offline=NO HTTP/1.1 Host: members.3322.org Authorization: Basic username:password User-Agent: myclient/1.0 me@null.net
2) webhop GET /dyndns/update?system=webhop&hostname=yourhost.ourdomain.ext&url=dest_url&title=cloak_title&cloak=cloak HTTP/1.1 Host: members.3322.org Authorization: Basic username:password User-Agent: myclient/1.0 me@null.net
3) subdom GET /dyndns/update?system=subdom&hostname=yourhost.ourdomain.ext&ip1=address1&ip2=address2 HTTP/1.1 Host: members.3322.org Authorization: Basic username:password User-Agent: myclient/1.0 me@null.net
一些参数的注意:
用户名和密码用来进行身份认证,必须使用 base64进行编码
客户端名称、版本,需要根据设备类型、名称、特征进行自定义,不要使用示范中的名称,否则可能被封堵
只能使用四者之一,否则出错。如果没有这个参数,缺省是dyndns
需要更新的域名
域名对应的IP。如果不指定,则服务器将选择最佳的IP(一些Proxy会传递客户端的IP, 这会被服务器检测到)。如果传递的地址格式错误,则忽略这个参数,而用服务器检测 到的IP。
是否支持泛域名(通配符),缺省为OFF。ON意为着 *.host.3322.org等同于host.3322.org
指明Mail eXchanger。必须能够解析到一个IP,否则被忽略。如果不提供该参数或者 不能解析到一个IP,mx记录会被删除。
backmx=YES|NO System:DynDNS, StatDNS Optional: Yes 指明前面的mx参数会被设置成备份邮件服务器,即邮件会首先发送到你的机器上,如果 不成功,才会发送到备份邮件服务器上。
offline=YES|NO System:DynDNS, StatDNS Optional: Yes 使域名暂时失效。
url=dest_url System:WebHop Optional: No webhop指向的URL地址
cloak=YES|NO System:WebHop Optional: Yes 指明webhop时是否使用frame,将转向的url包装起来。缺省是YES
title=cloak_title System:WebHop Optional: Yes cloak时,frame的标题。缺省是 “Bentium DynDns System”
ip1=address1 System:SubDom Optional: YES 第一个域名服务器的IP地址,必须是正确的IP。如果不指定,则服务器将选择最佳的IP (一些Proxy会传递客户端的IP, 这会被服务器检测到)。如果传递的地址格式错误, 则忽略这个参数,而用服务器检测到的IP。
ip2=address2 System:SubDom Optional: YES 第二个域名服务器的IP地址,必须是正确的IP