NewFuture / DDNS

:triangular_flag_on_post: 自动更新域名解析到本机IP(支持dnspod,阿里DNS,CloudFlare,华为云,DNSCOM...)
https://ddns.newfuture.cc/
MIT License
4.31k stars 657 forks source link

[debug]windows自定义的http GET请求失败 #252

Closed NianSan closed 3 years ago

NianSan commented 3 years ago

Describe the bug [描述]

windows自定义的http GET请求失败,网址直接用浏览器输入可以更新

To Reproduce [复现]

version info [基本信息]

config file [配置文件]

{
  "debug": true,  
  "dns": "callback",
  "id": "https://dynv6.com/api/update?zone=*.dns.army&token=****&ipv4=auto"
}

debug output [调试输出]

========================= Sat Apr 10 22:37:54 2021 =========================
2021-04-10 22:37:54,248 <cache.load> 48@util\cache.py
[DEBUG] load cache data from C:\Users\nian\AppData\Local\Temp\ddns.cache
2021-04-10 22:37:54,250 <run.main> 190@run.py
[WARNING] Cache file is out of dated.
2021-04-10 22:37:54,250 <cache.sync> 85@util\cache.py
[DEBUG] save cache data to C:\Users\nian\AppData\Local\Temp\ddns.cache
NianSan commented 3 years ago

用下面这个配置文件是可以更新的,不知道上面的配置文件为什么不能用

{
  "dns": "callback",
  "id": "https://dynv6.com/api/update?zone=__DOMAIN__&token=****&ipv4=__IP__",
  "index4": "public",
  "ipv4": [
    "***.dns.army"
  ]
}
NewFuture commented 3 years ago

Readme 中有对参数的说明 https://github.com/NewFuture/DDNS#%E8%87%AA%E5%AE%9A%E4%B9%89%E5%9B%9E%E8%B0%83%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E

常量名称 常量内容 说明
DOMAIN DDNS 域名  
RECORDTYPE DDNS 记录类型  
TTL DDNS TTL  
TIMESTAMP 请求发起时间戳 包含小数
IP 获取的对应类型的IP地址
NianSan commented 3 years ago

网址中一定要单独添加参数吗,我直接把这些写在网址中好像不能生效

NewFuture commented 3 years ago

callback本质上就是替换URL里面的参数,你要用到的填进去就行了

https://dynv6.com/api/update?zone=__DOMAIN__&ipv4=__IP__

这个就会替换__DOMAIN____IP__然后发送请求

NianSan commented 3 years ago

那种写法域名解析会更新,但是下面这种直接把参数写进url,域名解析就不会更新了,正常应该也一样会更新的吧

https://dynv6.com/api/update?zone=*.dns.army&token=****&ipv4=1.1.1.1
NewFuture commented 3 years ago

如果ipv4和ipv6都空着就跳过更新了

ipv4:[]
NianSan commented 3 years ago

了解了, ipv4或者ipv6一定要有内容才会触发http get,那应该随便填一个网址也行,我晚上回去试试,感谢解惑(^▽^ )