mirror of
https://github.com/3288588344/toulu.git
synced 2025-12-17 07:18:47 +08:00
143 lines
5.4 KiB
Python
143 lines
5.4 KiB
Python
# -*- coding: utf-8 -*-
|
||
#!/usr/bin/env python3
|
||
"""
|
||
* 仅供学习交流,请在下载后的24小时内完全删除 请勿将任何内容用于商业或非法目的,否则后果自负。
|
||
* 巨量ip签到。每日签到领取1000免费IP
|
||
* 巨量ip注册地址 https://www.juliangip.com/user/reg?inviteCode=1031551
|
||
*打码平台:http://www.gxfc-s4.com/
|
||
*有问题联系3288588344
|
||
*频道:https://pd.qq.com/s/672fku8ge
|
||
#!/usr/bin/env python3
|
||
"""
|
||
# # # # # # # # # # #
|
||
|
||
import json
|
||
import re
|
||
|
||
import requests
|
||
import urllib3
|
||
from urllib3.exceptions import InsecureRequestWarning
|
||
|
||
urllib3.disable_warnings(InsecureRequestWarning)
|
||
token = "填写token"
|
||
username = "填入你的巨量账号"
|
||
password = "填入你的巨量密码"
|
||
|
||
def jl_login(username, password):
|
||
url = "https://www.juliangip.com/login/go"
|
||
payload = f'type=password&username={username}&password={password}&sms_code='
|
||
headers = {
|
||
'Accept': 'application/json, text/javascript, */*; q=0.01',
|
||
'Accept-Encoding': 'gzip, deflate, br',
|
||
'Accept-Language': 'zh-CN,zh;q=0.9',
|
||
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
||
'Origin': 'https://www.juliangip.com',
|
||
'Referer': 'https://www.juliangip.com/user/login',
|
||
'Sec-Ch-Ua': '"Microsoft Edge";v="117", "Not;A=Brand";v="8", "Chromium";v="117"',
|
||
'Sec-Ch-Ua-Mobile': '?0',
|
||
'Sec-Ch-Ua-Platform': '"Windows"',
|
||
'Sec-Fetch-Dest': 'empty',
|
||
'Sec-Fetch-Mode': 'cors',
|
||
'Sec-Fetch-Site': 'same-origin',
|
||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.43',
|
||
'X-Requested-With': 'XMLHttpRequest'
|
||
}
|
||
|
||
response = requests.request("POST", url, headers=headers, data=payload, verify=False)
|
||
if response.status_code == 200:
|
||
return "_JSID=" + response.cookies.get("_JSID")
|
||
return None
|
||
|
||
|
||
def jl_users(tk):
|
||
url = "https://www.juliangip.com/users/"
|
||
headers = {
|
||
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
|
||
'Accept-Language': 'zh-CN,zh;q=0.9',
|
||
'Sec-Ch-Ua': '"Microsoft Edge";v="117", "Not;A=Brand";v="8", "Chromium";v="117"',
|
||
'Sec-Ch-Ua-Mobile': '?0',
|
||
'Sec-Ch-Ua-Platform': '"Windows"',
|
||
'Sec-Fetch-Dest': 'empty',
|
||
'Sec-Fetch-Mode': 'cors',
|
||
"Cookie": tk,
|
||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.43',
|
||
}
|
||
response = requests.get(url, headers=headers, verify=False)
|
||
if response.status_code == 200:
|
||
return re.findall("const tx =new TencentCaptcha\('(\d+)'", response.text)
|
||
return []
|
||
|
||
|
||
def getcode(aid):
|
||
url = "http://119.96.239.11:8888/api/getcode"
|
||
headers = {
|
||
"Content-Type": "application/json"
|
||
}
|
||
data = {
|
||
"timeout": "90", # 超时时间 请确保http请求超时>该参数,否则识别成功但连接已断开失败
|
||
"type": "tencent-turing", # 类型
|
||
"appid": aid, # 抓包所得aid/appid/id参数 tencent[aid/appid] netease[id]
|
||
"token": token, # 用户token 用于识别区分用户
|
||
"developeraccount": "" # 软件开发者用户名 //可空
|
||
}
|
||
response = requests.post(url, headers=headers, verify=False, timeout=90, data=json.dumps(data))
|
||
if response.status_code == 200:
|
||
if response.json()['status'] == 200:
|
||
return response.json()
|
||
else:
|
||
print(response.json())
|
||
return {}
|
||
return {}
|
||
|
||
|
||
def getFree(tk, js):
|
||
headers = {
|
||
"Host": "www.juliangip.com",
|
||
"Cookie": tk,
|
||
"sec-ch-ua": "\"Microsoft Edge\";v=\"117\", \"Not;A=Brand\";v=\"8\", \"Chromium\";v=\"117\"",
|
||
"accept": "*/*",
|
||
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
||
"x-requested-with": "XMLHttpRequest",
|
||
"sec-ch-ua-mobile": "?0",
|
||
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.43",
|
||
"sec-ch-ua-platform": "\"Windows\"",
|
||
"origin": "https://www.juliangip.com",
|
||
"sec-fetch-site": "same-origin",
|
||
"sec-fetch-mode": "cors",
|
||
"sec-fetch-dest": "empty",
|
||
"referer": "https://www.juliangip.com/users/",
|
||
"accept-language": "zh-CN,zh;q=0.9"
|
||
}
|
||
data_js = json.loads(js['data']['code'])
|
||
data = {
|
||
"randStr": data_js['randstr'],
|
||
"ticket": data_js["ticket"]
|
||
}
|
||
url = "https://www.juliangip.com/users/getFree"
|
||
response = requests.post(url, headers=headers, data=data,
|
||
verify=False) # 注意:verify=False 用于禁用SSL验证,如果需要SSL验证,请删除这个参数
|
||
if response.status_code == 200:
|
||
print(response.json())
|
||
else:
|
||
print(response.text)
|
||
|
||
|
||
def main():
|
||
tk = jl_login(username, password)
|
||
if not tk:
|
||
print("登录失败")
|
||
return
|
||
aid = jl_users(tk)
|
||
if not aid:
|
||
print("获取aid失败")
|
||
return
|
||
js = getcode(aid[0])
|
||
if not js:
|
||
print("获取打码平台失败")
|
||
return
|
||
getFree(tk, js)
|
||
|
||
|
||
if __name__ == '__main__':
|
||
main()
|