def https_push(domain): global success_code global fail_code url = '' while True: try: r = PushTool.rand_all(domain) i = PushTool.rand_all(domain) headers = { 'User-Agent': PushTool.user_agent(), 'Referer': r, 'Accept': '*/*', 'Connection': 'keep-alive', 'Host': 'sp0.baidu.com', } conn = requests.Session() conn.headers = headers # print(headers) # 将cookiesJar赋值给会话 cookiesJar = requests.utils.cookiejar_from_dict(cookie, cookiejar=None, overwrite=True) conn.cookies = cookiesJar target = '%s?r=%s&l=%s' % (server, r, i) # http = requests.get(target, headers=headers) http = conn.get(target) url = parse.unquote(http.url) if http.content == b'' and http.status_code == 200: success_code += 1 print('成功 %s 失败 %s %s' % (success_code, fail_code, url)) else: fail_code += 1 print('成功 %s 失败 %s %s' % (success_code, fail_code, url)) except: fail_code += 1 print('成功 %s 失败 %s %s' % (success_code, fail_code, url))
def http_push(domain): tool = PushTool() while True: global success_num global failure_num global start_time referer = tool.rand_all() r = tool.rand_all() headers = { 'User-Agent': PushTool.user_agent(), 'Referer': referer, 'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.8', 'Connection': 'keep-alive', 'Host': 'api.share.baidu.com', } conn = requests.Session() conn.headers = headers # print(headers) # 将cookiesJar赋值给会话 cookies_jar = requests.utils.cookiejar_from_dict(cookie, cookiejar=None, overwrite=True) conn.cookies = cookies_jar payload = {'r': r} code = 404 url = '' try: r = parse.quote_plus(r) url = 'http://api.share.baidu.com/s.gif?r=%s&l=%s' % (r, referer) res = conn.get(url, params=payload, timeout=10) code = res.status_code url = parse.unquote(res.url) if code == 200: if url == 'http://www.baidu.com/search/error.html': failure_num += 1 else: success_num += 1 else: failure_num += 1 except: # traceback.print_exc() failure_num += 1 this_time = datetime.now() spend = this_time - start_time if int(spend.seconds) == 0: speed_sec = success_num / 1 else: speed_sec = success_num / int(spend.seconds) speed_day = float('%.2f' % ((speed_sec * 60 * 60 * 24) / 10000)) percent = success_num / (failure_num + success_num) * 100 sys.stdout.write(' ' * 100 + '\r') sys.stdout.flush() print(referer, code) sys.stdout.write( '%s 成功%s 预计(day/万):%s 万 成功率:%.2f%% 状态码:%s\r' % (datetime.now(), success_num, speed_day, percent, code)) sys.stdout.flush()
def https_push(domain): global success_num global failure_num global start_time url = '' code = 404 while True: try: r = PushTool.rand_all(domain) url = PushTool.rand_all(domain) headers = { 'User-Agent': PushTool.user_agent(), 'Referer': r, 'Accept': '*/*', 'Connection': 'keep-alive', 'Host': 'sp0.baidu.com', } conn = requests.Session() conn.headers = headers # print(headers) # 将cookiesJar赋值给会话 cookiesJar = requests.utils.cookiejar_from_dict(cookie, cookiejar=None, overwrite=True) conn.cookies = cookiesJar r = parse.quote_plus(r) target = '%s?r=%s&l=%s' % (server, r, url) http = requests.get(target, headers=headers) # http = conn.get(target) code = http.status_code if http.content == b'' and code == 200: success_num += 1 else: failure_num += 1 except: failure_num += 1 this_time = datetime.now() spend = this_time - start_time if int(spend.seconds) == 0: speed_sec = success_num / 1 else: speed_sec = success_num / int(spend.seconds) speed_day = float('%.2f' % ((speed_sec * 60 * 60 * 24) / 10000000)) percent = success_num / (failure_num + success_num) * 100 sys.stdout.write(' ' * 100 + '\r') sys.stdout.flush() print(url, code) sys.stdout.write( '%s 成功%s 预计(day/千万):%s M 成功率:%.2f%% 状态码:%s\r' % (datetime.now(), success_num, speed_day, percent, code)) sys.stdout.flush()
def push_url_two(domain): while True: global success_count global failure_count referer = PushTool.rand_all(domain) r = PushTool.rand_all(domain) # referer = 'http://www.zzqq.com/lsjxxx/20181010xxxxx.html' # r = 'http://www.baidu.com/xxxx.html' headers = { 'User-Agent': PushTool.user_agent(), 'Referer': referer, 'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2', 'Connection': 'keep-alive', 'Host': 'api.share.baidu.com', } conn = requests.Session() conn.headers = headers # print(headers) # 将cookiesJar赋值给会话 cookiesJar = requests.utils.cookiejar_from_dict(cookie, cookiejar=None, overwrite=True) conn.cookies = cookiesJar payload = {'r': r, 'l': referer} code = 404 url = '' try: res = conn.get('http://api.share.baidu.com/s.gif', params=payload, timeout=10) code = res.status_code url = parse.unquote(res.url) if code == 200: if url == 'http://www.baidu.com/search/error.html': failure_count += 1 else: success_count += 1 else: failure_count += 1 except: traceback.print_exc() failure_count += 1 print('----------------------') print(code, url) print('success:%d failure:%d' % (success_count, failure_count))
def submit(self, num): global target global failure_count global success_count while True: url = '' code = 233 try: url = PushTool.rand_all(target) resp, url = self._do_submit(url) code = resp.status_code if code != 200: failure_count += 1 self._change_cookie() print('返回代码异常') else: resp_entity = json.loads(resp.text) if "status" not in resp_entity or resp_entity[ "status"] != 0: failure_count += 1 self._drop_cookie() self._change_cookie() print(resp_entity) else: print('成功!') success_count += 1 except Exception as e: print(e) failure_count += 1 print('服务器异常') time.sleep(3)
def send_pkg_url(thread_num): while True: domain = 'mip-cache-%s.' % PushTool.random_chars(8) + choice(all_site) # static = 'mip-cache-%s.' % randint(1000, 2000) + 'aienao.com' # static = 'www.' + choice(all_site) # static = 'www1.' + 'aienao.com' url = '' for x in range(0, 100): url += PushTool.rand_all(domain) + '\n' url = url.strip('\n') headers = { 'User-Agent': 'curl/7.12.1', 'Host': 'data.zz.baidu.com', 'Content-Type': 'text/plain', 'Content-Length': str(len(url)), } target_url = 'http://data.zz.baidu.com/urls?site=%s&token=F5KnjXlVWrKS3MFm&type=mip' % domain try: requests.post(target_url, data=url, headers=headers) response = requests.post(target_url, data=url, headers=headers) print(datetime.now(), response.json(), domain) except ConnectionError: print('服务器断开连接。。。') except JSONDecodeError: print('服务器未返回正确数据。。')
def send_pkg_url(domain): # pre_num = 6 # while pre_num: # static = 'mipcdn1693.aienao.com' url = '' # if pre_num == 6: # for x in range(0, 100): # url += PushTool.rand_all(domain) + '\n' # url = url.strip('\n') # elif pre_num == 1: # for x in range(0, 1900): # url += PushTool.rand_all(domain) + '\n' # url = url.strip('\n') # else: # for x in range(0, 2000): # url += PushTool.rand_all(domain) + '\n' # url = url.strip('\n') for x in range(0, 100): url += PushTool.rand_all(domain) + '\n' url = url.strip('\n') headers = { 'User-Agent': 'curl/7.12.1', 'Host': 'data.zz.baidu.com', 'Content-Type': 'text/plain', 'Content-Length': str(len(url)), } target_url = 'http://data.zz.baidu.com/urls?site=%s&token=F5KnjXlVWrKS3MFm&type=mip' % domain response = object try: response = requests.post(target_url, data=url, headers=headers) message = response.json()['message'] print(datetime.now(), domain, response.json()) return message except ConnectionError: # print(datetime.now(), 'pkg_procedure\t服务器断开连接。。。') pass except ChunkedEncodingError: # print(datetime.now(), 'pkg_procedure\t远程主机强迫关闭了一个现有的连接。。。') pass except JSONDecodeError: # print(datetime.now(), 'pkg_procedure\t服务器未返回正确数据。。') pass except KeyError: message = response.json() print(datetime.now(), domain, message)
def bd_manual(num): global success_count global failure_count global start_time global target while True: url = PushTool.rand_all(target) data = 'url=%s' % parse.quote_plus(url) headers = { 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Connection': 'keep-alive', 'Content-Length': str(len(data)), 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Host': 'ziyuan.baidu.com', 'Origin': 'https://ziyuan.baidu.com', 'Referer': 'https://ziyuan.baidu.com/linksubmit/url', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36', 'X-Request-By': 'baidu.ajax', 'X-Requested-With': 'XMLHttpRequest', } conn = requests.Session() conn.headers = headers # print(headers) # 将cookiesJar赋值给会话 cookie = { 'BIDUPSID': '358AB784CA9B61AE0BB262CA5B63C31F', 'PSTM': '1543830159', 'BAIDUID': '10F2B0EDBCCA246B1096F100C2D54A10:FG=1', 'H_PS_PSSID': '1433_21118_26350_27508', 'Hm_lvt_6f6d5bc386878a651cb8c9e1b4a3379a': '1543888479', 'lastIdentity': 'PassUserIdentity', 'SIGNIN_UC': '70a2711cf1d3d9b1a82d2f87d633bd8a02939879255', 'delPer': '0', 'PSINO': '7', 'locale': 'zh', '__cas__rn__': '293987925', 'BDUSS': 'nU1fmdmVU92SThBRU8tNDQ0T3RxcFd3Zjhoa2g1cVdwZGZXYUxNeTZycHcyQzVjQVFBQUFBJCQAAAAAAAAAAAEAAABmn' 'im80rvJ-tK7ysDWwtS2NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBL' 'B1xwSwdcQ', 'SITEMAPSESSID': 'iope24msj5s1rfcu9qlpmdv5l4', 'Hm_lpvt_6f6d5bc386878a651cb8c9e1b4a3379a':'1543981941', } cookiesJar = requests.utils.cookiejar_from_dict(cookie, cookiejar=None, overwrite=True) conn.cookies = cookiesJar code = 404 try: res = conn.post('https://ziyuan.baidu.com/linksubmit/urlsubmit', headers=headers, data=data, timeout=3.0) code = res.status_code if code == 200: if '{"over":0,"status":0}' in res.text: success_count += 1 else: failure_count += 1 else: failure_count += 1 except: traceback.print_exc() failure_count += 1 this_time = datetime.now() spend = this_time - start_time if int(spend.seconds) == 0: speed_sec = success_count / 1 else: speed_sec = success_count / int(spend.seconds) speed_day = float('%.2f' % ((speed_sec * 60 * 60 * 24) / 10000000)) percent = success_count / (failure_count + success_count) * 100 sys.stdout.write(' ' * 100 + '\r') sys.stdout.flush() print(url) sys.stdout.write( '%s 成功%s 预计(day/千万):%s M 成功率:%.2f%% 状态码:%s\r' % ( datetime.now(), success_count, speed_day, percent, code)) sys.stdout.flush()
def send_pkg_url(thread_num, is_cookie, is_proxy, timeout): domain = 'mip-cache-%s.%s:%s' % (randint(1000, 1500), choice(all_site), randint(10000, 65535)) while True: code = 404 proxy = '' global success_num global failure_num global start_time target = PushTool.rand_all(domain) before = PushTool.rand_all(domain) headers = { 'User-Agent': PushTool.user_agent(), 'Referer': target, 'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.8', 'Connection': 'keep-alive', 'Host': 'api.share.baidu.com', } payload = { 'l': target, 'r': before } try: if is_cookie and is_proxy: proxy = PushTool.get_proxy().get("proxy") if isinstance(proxy, bytes): proxy = proxy.decode('utf8') proxies = {"http": "http://{}".format(proxy)} conn = requests.Session() conn.headers = headers cookies_jar = requests.utils.cookiejar_from_dict(cookie, cookiejar=None, overwrite=True) conn.cookies = cookies_jar res = conn.get('http://api.share.baidu.com/s.gif', params=payload, timeout=timeout, proxies=proxies) elif is_cookie and is_proxy is False: conn = requests.Session() conn.headers = headers cookies_jar = requests.utils.cookiejar_from_dict(cookie, cookiejar=None, overwrite=True) conn.cookies = cookies_jar res = conn.get('http://api.share.baidu.com/s.gif', params=payload, timeout=timeout) elif is_cookie is False and is_proxy: proxy = PushTool.get_proxy().get("proxy") if isinstance(proxy, bytes): proxy = proxy.decode('utf8') proxies = {"http": "http://{}".format(proxy)} res = requests.get( 'http://api.share.baidu.com/s.gif', params=payload, headers=headers, proxies=proxies, timeout=timeout, ) else: res = requests.get( 'http://api.share.baidu.com/s.gif', params=payload, headers=headers, timeout=timeout, ) code = res.status_code url = parse.unquote(res.url) if code == 200: if url == 'http://www.baidu.com/search/error.html': failure_num += 1 else: success_num += 1 else: failure_num += 1 except Exception as e: print(e) failure_num += 1 this_time = datetime.now() spend = this_time - start_time if int(spend.seconds) == 0: speed_sec = success_num / 1 else: speed_sec = success_num / int(spend.seconds) speed_day = float('%.2f' % ((speed_sec * 60 * 60 * 24) / 10000000)) if code == 200: print('\033[034m thread_num:{}\tstatus:{}\tproxy:{}\tspeed:{}\tsite_url:{:<20}\t'.format( thread_num, code, is_proxy, speed_day, target, )) else: print('\033[031m thread_num:{}\tstatus:{}\tproxy:{}\tspeed:{}\tsite_url:{:<20}\t'.format( thread_num, code, is_proxy, speed_day, target, ))
def bd_ping(num): global success_count global failure_count global start_time global target xml = """ <?xml version="1.0"?> <methodCall> <methodName>weblogUpdates.ping</methodName> <params> <param> <value><string>%s</string></value> </param><param><value><string>%s</string></value> </param> </params> </methodCall> """ while True: url = PushTool.rand_all(target) xml = xml.replace('%s', url) headers = { 'Accept': '*/*', 'Accept-Encoding': 'zh-CN,zh;q=0.9,en;q=0.8', 'Content-Type': 'text/xml', 'Connection': 'keep-alive', 'User-Agent': PushTool.user_agent(), 'Content-Length': str(len(xml)), 'Host': 'ping.baidu.com', 'Origin': 'http://ping.baidu.com', 'Referer': 'http://ping.baidu.com/ping.html' } conn = requests.Session() conn.headers = headers # print(headers) # 将cookiesJar赋值给会话 cookiesJar = requests.utils.cookiejar_from_dict(cookie, cookiejar=None, overwrite=True) conn.cookies = cookiesJar code = 404 try: res = conn.post('http://ping.baidu.com/ping/RPC2', headers=headers, json=xml, timeout=3.0) code = res.status_code if code == 200: if '<int>0</int>' in res.text: success_count += 1 else: failure_count += 1 else: failure_count += 1 except: traceback.print_exc() failure_count += 1 this_time = datetime.now() spend = this_time - start_time if int(spend.seconds) == 0: speed_sec = success_count / 1 else: speed_sec = success_count / int(spend.seconds) speed_day = float('%.2f' % ((speed_sec * 60 * 60 * 24) / 10000000)) percent = success_count / (failure_count + success_count) * 100 sys.stdout.write(' ' * 100 + '\r') sys.stdout.flush() print(url) sys.stdout.write( '%s 成功%s 预计(day/千万):%s M 成功率:%.2f%% 状态码:%s\r' % (datetime.now(), success_count, speed_day, percent, code)) sys.stdout.flush()
from threadpool import ThreadPool, makeRequests from configparser import ConfigParser from tools.push_tools import PushTool config = ConfigParser() config.read('push_config.ini', 'utf-8') https = int(config.get('bd_push', 'https')) thread_num = int(config.get('bd_push', 'thread')) target = config.get('bd_push', 'target') url_list = [] for line in range(1, 10000): url_list.append(PushTool.rand_all(target)) if https == 1: from mylib.https_push import https_push pool = ThreadPool(thread_num) arg = [] for x in range(0, thread_num): arg.append(url_list) request = makeRequests(https_push, arg) [pool.putRequest(req) for req in request] pool.wait() elif https == 0: from mylib.new_push import http_push pool = ThreadPool(thread_num) arg = [] for x in range(0, thread_num): arg.append(url_list) request = makeRequests(http_push, arg) [pool.putRequest(req) for req in request] pool.wait()
def http_push(domain): while True: global success_num global failure_num global start_time referer = PushTool.rand_all(domain) r = PushTool.rand_all(domain) headers = { 'User-Agent': PushTool.user_agent(), 'Referer': referer, 'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.8', 'Connection': 'keep-alive', 'Host': 'api.share.baidu.com', } proxy = PushTool.get_proxy() # proxy = b'' if isinstance(proxy, bytes): proxy = proxy.decode('utf8') proxies = {"http": "http://{proxy}".format(proxy=proxy)} payload = {'l': referer, 'r': r} code = 404 url = '' temp = 0 while temp < 2: try: r = parse.quote_plus(r) url = 'http://api.share.baidu.com/s.gif?r=%s&l=%s' % (r, referer) res = requests.get(url, params=payload, timeout=10, headers=headers, proxies=proxies) # res = requests.get(url, params=payload, timeout=10, headers=headers) code = res.status_code url = parse.unquote(res.url) if code == 200: if url == 'http://www.baidu.com/search/error.html': failure_num += 1 else: success_num += 1 else: failure_num += 1 except: # traceback.print_exc() failure_num += 1 this_time = datetime.now() spend = this_time - start_time if int(spend.seconds) == 0: speed_sec = success_num / 1 else: speed_sec = success_num / int(spend.seconds) speed_day = float('%.2f' % ((speed_sec * 60 * 60 * 24) / 10000000)) percent = success_num / (failure_num + success_num) * 100 sys.stdout.write(' ' * 100 + '\r') sys.stdout.flush() print(referer, code, proxy) # sys.stdout.write( # '%s 成功%s 预计(day/千万):%s M 成功率:%.2f%% 状态码:%s \r' # % (datetime.now(), success_num, speed_day, percent, code)) sys.stdout.write( '%s 成功%s 预计(day/千万):%s M 成功率:%.2f%% 状态码:%s\r' % (datetime.now(), success_num, speed_day, percent, code)) temp += 1