XAS-712 / Aliyun_DDNS

利用Aliyun的修改解析记录API/SDK写的DDNS脚本
GNU General Public License v3.0
51 stars 32 forks source link

https://wtfismyip.com/text 在SS 下显示的是 SS服务器的 #10

Open Michae1G opened 6 years ago

Michae1G commented 6 years ago

我的树莓派在路由下,运行该脚本 https://wtfismyip.com/text 在SS 下显示的是 SS服务器的IP(采用的大陆白名单,GFWlist 不能满足部分网址加速)。。。 另外在网上看到有人 用以下内容 实现 多个查询地址 随机查询。。。避免多次访问被封 不知道能否改进?PS :非编程专业,仅会一点,还希望大神指教

# 此类的作用是获取本地外网ip
class IP(object):
    def __init__(self):
        from tool import user_agent_list
        self.user_agent_list = user_agent_list
        # 网上找了几个获取ip的接口,为了防止过多的访问接口被封,每次调用随机选择
        self.api_list = [
            'http://www.net.cn/static/customercare/yourip.asp',
            'http://members.3322.org/dyndns/getip',
            'http://www.ip168.com/json.do?view=myipaddress',
            'http://pv.sohu.com/cityjson',
            'http://ip.taobao.com/service/getIpInfo.php?ip=myip',
            'http://2018.ip138.com/ic.asp',
        ]
    def ip_query(self):
        # 一直循环,直到成功获取到本地外网ip
        while True:
            url = random.sample(self.api_list, 1)[0]
            headers = random.sample(self.user_agent_list, 1)[0]
            try:
                res = requests.get(url, headers={'User-Agent':headers}, timeout=5)
                encoding = chardet.detect(res.content)['encoding']
                html = res.content.decode(encoding)
                out = re.findall(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',html)
                if out != []: return out[0] 
            except Exception as e:
                continue
XAS-712 commented 6 years ago

目前来看可能没有很好的解决方案。 可以考虑试试不给该脚本走SS代理。

XAS-712 commented 6 years ago

试试国内的服务器如何?记得一开始用的是万网的接口,可以翻翻历史commit

AndroidOL commented 5 years ago

您好,代码没有问题,如果方便请提交到代码中,由于最初本想测试不同的函数返回相同的结果,找了几个完全不通类型的 IP 查询网站做了点适配。

mojocn commented 5 years ago

如果全部使用python的标准库就好了 拿来就用

AndroidOL commented 5 years ago

请参考 non sdk 版本

On Friday, April 19, 2019, EricZhou notifications@github.com wrote:

如果全部使用python的标准库就好了 拿来就用

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/XAS-712/Aliyun_DDNS/issues/10#issuecomment-484748653, or mute the thread https://github.com/notifications/unsubscribe-auth/AA6MCCZA62QMYPWJQPU7TPDPREVQHANCNFSM4FQSRANQ .