File tree Expand file tree Collapse file tree 2 files changed +25
-8
lines changed Expand file tree Collapse file tree 2 files changed +25
-8
lines changed Original file line number Diff line number Diff line change @@ -39,10 +39,11 @@ def appapi_illust(aapi):
3939 json_result = aapi .illust_comments (59580629 )
4040 print (json_result )
4141
42- json_result = aapi .ugoira_metadata (51815717 )
43- print (json_result )
44- metadata = json_result .ugoira_metadata
45- print (">>> frames=%d %s" % (len (metadata .frames ), metadata .zip_urls .medium ))
42+ # (2020/01/28) Comment because 51815717 is deleted
43+ # json_result = aapi.ugoira_metadata(51815717)
44+ # print(json_result)
45+ # metadata = json_result.ugoira_metadata
46+ # print(">>> frames=%d %s" % (len(metadata.frames), metadata.zip_urls.medium))
4647
4748
4849def appapi_recommend (aapi ):
Original file line number Diff line number Diff line change @@ -15,10 +15,26 @@ def __init__(self, **requests_kwargs):
1515 session .mount ('https://' , host_header_ssl .HostHeaderSSLAdapter ())
1616 self .requests = session
1717
18- def require_appapi_hosts (self , hostname = "app-api.pixiv.net" ):
18+ def require_appapi_hosts (self , hostname = "app-api.pixiv.net" , timeout = 3 ):
1919 """
20- 通过1.0.0.1请求真实的ip地址
20+ 通过cloudflare的 DNS over HTTPS 请求真实的ip地址
2121 """
22- url = "https://1.0.0.1/dns-query?ct=application/dns-json&name=%s&type=A&do=false&cd=false" % hostname
23- response = requests .get (url )
22+ url = "https://1.0.0.1/dns-query" # 先使用1.0.0.1的地址
23+ params = {
24+ 'ct' : 'application/dns-json' ,
25+ 'name' : hostname ,
26+ 'type' : 'A' ,
27+ 'do' : 'false' ,
28+ 'cd' : 'false' ,
29+ }
30+
31+ try :
32+ response = requests .get (url , params = params , timeout = timeout )
33+ except Exception :
34+ # 根据 #111 的反馈,部分地区无法访问1.0.0.1,此时尝试域名解析
35+ url = "https://cloudflare-dns.com/dns-query"
36+ response = requests .get (url , params = params , timeout = timeout )
37+
38+ # 返回第一个解析到的IP
2439 self .hosts = "https://" + response .json ()['Answer' ][0 ]['data' ]
40+ return self .hosts
You can’t perform that action at this time.
0 commit comments