|
|
@@ -1,21 +1,18 @@
|
|
|
import datetime
|
|
|
-import hashlib
|
|
|
import json
|
|
|
import multiprocessing
|
|
|
import random
|
|
|
import re
|
|
|
import sched
|
|
|
-import sys
|
|
|
import threading
|
|
|
import time
|
|
|
import traceback
|
|
|
-from hashlib import md5
|
|
|
from urllib import parse
|
|
|
|
|
|
import requests
|
|
|
|
|
|
from tools import loggerKit, redis_client
|
|
|
-from tools.utils import get_random_browser, FileWriter, get_random_proxy_at_redis, get_external_ip, save_all_proxy_ip
|
|
|
+from tools.utils import get_random_browser, get_external_ip, get_random_proxy_at_redis, save_all_proxy_ip
|
|
|
|
|
|
|
|
|
def poc_2(account, passwd, target_url, log_name, single_proxy, random_index):
|
|
|
@@ -86,7 +83,8 @@ def poc_2(account, passwd, target_url, log_name, single_proxy, random_index):
|
|
|
content = session.post(url=login_url, headers=headers, data=data, proxies=proxies).text
|
|
|
# loggerKit.info(f'login info: {content}')
|
|
|
if 'token' not in content:
|
|
|
- loggerKit.info(f'login account:{account}, 本机出口IP:{get_external_ip()}、代理IP:{single_proxy} 被封!!!')
|
|
|
+ loggerKit.info(
|
|
|
+ f'login account:{account}, 本机出口IP:{get_external_ip()}、代理IP:{single_proxy} 被封!!!')
|
|
|
# 将被封的IP数据从redis中去掉
|
|
|
# key = f'proxy_{str(random_index)}'
|
|
|
# loggerKit.info(f'key:{key}')
|
|
|
@@ -195,7 +193,8 @@ def poc_2(account, passwd, target_url, log_name, single_proxy, random_index):
|
|
|
|
|
|
# https://t.livepocket.jp/purchase/security?id=309887&type=new
|
|
|
# redirect_url2
|
|
|
- response2 = result.get(redirect_url1, headers=header, cookies=cookies, allow_redirects=False, proxies=proxies)
|
|
|
+ response2 = result.get(redirect_url1, headers=header, cookies=cookies, allow_redirects=False,
|
|
|
+ proxies=proxies)
|
|
|
loggerKit.info('response2.headers: {0}', response2.headers)
|
|
|
if 'Location' in response2.headers:
|
|
|
redirect_url2 = response2.headers['Location']
|
|
|
@@ -205,7 +204,8 @@ def poc_2(account, passwd, target_url, log_name, single_proxy, random_index):
|
|
|
|
|
|
# https://t.livepocket.jp/purchase/confirm?id=309887&reserved_session_id=423272
|
|
|
# redirect_url3
|
|
|
- response3 = result.get(redirect_url2, headers=header, cookies=cookies, allow_redirects=False, proxies=proxies)
|
|
|
+ response3 = result.get(redirect_url2, headers=header, cookies=cookies, allow_redirects=False,
|
|
|
+ proxies=proxies)
|
|
|
print('response3.headers: ', response3.headers)
|
|
|
if 'Location' in response3.headers:
|
|
|
redirect_url3 = response3.headers['Location']
|
|
|
@@ -244,16 +244,19 @@ def poc_2(account, passwd, target_url, log_name, single_proxy, random_index):
|
|
|
'reserve_ticket[0][amount]': 1,
|
|
|
'payment_type': 'credit'
|
|
|
}
|
|
|
- drawing_response = result.post(f'https://t.livepocket.jp/api/drawing_tickets/entry?mytimestamp={str(int(time.time()))}', headers=drawing_headers, cookies=drawing_cookies,
|
|
|
- data=drawing_form_data, allow_redirects=False, proxies=proxies)
|
|
|
+ drawing_response = result.post(
|
|
|
+ f'https://t.livepocket.jp/api/drawing_tickets/entry?mytimestamp={str(int(time.time()))}',
|
|
|
+ headers=drawing_headers, cookies=drawing_cookies,
|
|
|
+ data=drawing_form_data, allow_redirects=False, proxies=proxies)
|
|
|
loggerKit.info('drawing_response.text: {0}', drawing_response.text)
|
|
|
drawing_data = json.loads(drawing_response.text)
|
|
|
if drawing_data['success']:
|
|
|
order_id = drawing_data['result']['order_id']
|
|
|
onetime_token_name = drawing_data['result']['onetime_token_name']
|
|
|
onetime_token_value = drawing_data['result']['onetime_token_value']
|
|
|
- loggerKit.info('account: {0}, order_id: {1}, onetime_token_name: {2}, onetime_token_value: {3}, 抢到!!!',
|
|
|
- account, order_id, onetime_token_name, onetime_token_value)
|
|
|
+ loggerKit.info(
|
|
|
+ 'account: {0}, order_id: {1}, onetime_token_name: {2}, onetime_token_value: {3}, 抢到!!!',
|
|
|
+ account, order_id, onetime_token_name, onetime_token_value)
|
|
|
|
|
|
# writer.write_to_file(f'account:{account}, order_id:{order_id}, onetime_token_name:{onetime_token_name}, onetime_token_value:{onetime_token_value} \n')
|
|
|
|
|
|
@@ -267,7 +270,7 @@ def process_account(pocket_url, account, log_name, single_proxy, random_index):
|
|
|
|
|
|
def process_running(max_threads, pocket_url):
|
|
|
log_name = f"data_{datetime.datetime.now().strftime('%Y%m%d%H%M')}.txt"
|
|
|
- with open('account.txt', 'r') as accounts:
|
|
|
+ with open('livepocket/account.txt', 'r') as accounts:
|
|
|
account_list = accounts.readlines()
|
|
|
|
|
|
threads = []
|
|
|
@@ -275,7 +278,8 @@ def process_running(max_threads, pocket_url):
|
|
|
|
|
|
# 直接从redis中获取
|
|
|
single_proxy, random_index = get_random_proxy_at_redis(600)
|
|
|
- thread = threading.Thread(target=process_account, args=(pocket_url, account, log_name, single_proxy, random_index))
|
|
|
+ thread = threading.Thread(target=process_account,
|
|
|
+ args=(pocket_url, account, log_name, single_proxy, random_index))
|
|
|
threads.append(thread)
|
|
|
thread.start()
|
|
|
|