MCPcopy Create free account
hub / github.com/smallfawn/QLScriptPublic / getTicketByNative_cloud

Method getTicketByNative_cloud

daily/chinaUnicom.py:2072–2095  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2070 return base64.b64encode(cipher.encrypt(padded)).decode()
2071
2072 def getTicketByNative_cloud(self):
2073 for attempt in range(1, 4):
2074 try:
2075 url = f"{self.cloudDiskUrls['getTicketByNative']}?appId=edop_unicom_d67b3e30&token={self.ecs_token}"
2076 headers = {
2077 'User-Agent': "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 unicom{version:iphone_c@12.0301}",
2078 'Connection': "Keep-Alive",
2079 'Accept-Encoding': "gzip",
2080 }
2081 res = self.session.get(url, headers=headers).json()
2082 if res.get('ticket'):
2083 self.cloudDisk.ticket = res['ticket']
2084 return res['ticket']
2085 elif str(res.get('code')) == "9999":
2086 self.log(f"getTicketByNative_cloud 票据失效或被拦截: {res}")
2087 except Exception as e:
2088 err_msg = str(e)
2089 if attempt < 3 and os.environ.get("UNICOM_PROXY_API") and ("Max retries exceeded" in err_msg or "timed out" in err_msg.lower() or "connection" in err_msg.lower() or "SOCKS" in err_msg):
2090 self.log(f"getTicketByNative_cloud 第{attempt}次异常触发故障转移: {err_msg}")
2091 self.failover_proxy()
2092 continue
2093 self.log(f"getTicketByNative_cloud 第{attempt}次重试 - 异常: {e}")
2094 time.sleep(2)
2095 return None
2096
2097 def get_ltypDispatcher_cloud(self, ticket):
2098 for attempt in range(1, 4):

Callers 1

ltyp_taskMethod · 0.95

Calls 4

logMethod · 0.95
failover_proxyMethod · 0.95
sleepMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected