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 push_url(domain): while True: global success_count global failure_count referer = PushTool.get_url(domain) r = PushTool.get_url(domain) # proxy = PushTool.get_proxy() # proxy = b'115.219.74.242:26043' # if isinstance(proxy, bytes): # proxy = proxy.decode('utf8') # proxies = {"http": "http://{proxy}".format(proxy=proxy)} 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, proxies=proxies) res = conn.get( 'https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif?', params=payload, timeout=20) # res = conn.get('https://github.com') code = res.status_code if code == 200: success_count += 1 else: failure_count += 1 url = res.url except: traceback.print_exc() failure_count += 1 print('----------------------') print(code, url) print('success:%d failure:%d' % (success_count, failure_count))
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 https_push(domain): global success_code global fail_code url = '' while True: try: try: test = requests.get(domain, timeout=2) if test.status_code == 404: print('链接已经失效') return except: continue r = 'https://baobao.baidu.com/mbaby/browse?period=0' i = 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))
async def register_user(session, cookie_jar): global success_num global fail_num global start_time referer = PushTool.get_url('http://www.61k.com/lsj') r = PushTool.get_url('http://www.61k.com/lsj') 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', } status = 233 try: payload = { 'r': r, 'l': referer, } async with ClientSession(cookies=cookie_jar) as session: async with session.post(url='http://api.share.baidu.com/s.gif', data=payload, headers=headers, timeout=2) as response: r = await response.read() if r == b'' and response.status == 200: success_num += 1 else: fail_num += 1 status = response.status except Exception as e: fail_num += 1 this_time = datetime.now() spend = this_time - start_time speed_sec = int(success_num / spend.seconds) speed_day = (speed_sec * 60 * 60 * 24) / 10000000 percent = success_num / (fail_num + success_num) * 100 print("%s 成功%s 预计(day/千万):%s M 成功率:%.2f%% 状态码:%s" % (datetime.now(), success_num, speed_day, percent, status))
def _do_submit(self, url): url = url.strip() headers = { "Connection": "keep-alive", "Origin": "https://ziyuan.baidu.com", "User-Agent": PushTool.user_agent(), "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", "Accept": "application/json, text/javascript, */*; q=0.01", "X-Requested-With": "XMLHttpRequest", "X-Request-By": "baidu.ajax", "Referer": "https://ziyuan.baidu.com/linksubmit/url", "Accept-Encoding": "gzip, deflate, br", "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7,mr;q=0.6", "Cookie": self._cookie, } resp = requests.post( url="https://ziyuan.baidu.com/linksubmit/urlsubmit", data={"url": url}, headers=headers, timeout=10) return resp, url
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 add_random_site(site, cookie): """ :param site: :param cookie: :return: """ url = '' main_site = str(site).lstrip('www.') for x in range(0, 10): url = url + 'mipcdn-%s.%s\n' % (PushTool.random_chars(8), main_site) site_urls = url.split('\n') url = url.strip('\n') url = url.replace('\n', '%0A') data = 'site=%s&urls=%s' % (site, url) # print(data) ua = PushTool.user_agent() # print(ua) headers = { 'Host': 'ziyuan.baidu.com', 'Connection': 'keep-alive', 'Content-Length': str(len(data)), 'Accept': 'application/json, text/javascript, */*; q=0.0', 'Origin': 'https://ziyuan.baidu.com', 'X-Requested-With': 'XMLHttpRequest', 'X-Request-By': 'baidu.ajax', 'User-Agent': ua, 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Referer': 'https://ziyuan.baidu.com/site/batchadd', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 'Cookie': cookie } try: # proxy = get_proxy().get("proxy") response = requests.post( url='https://ziyuan.baidu.com/site/batchaddSubmit', headers=headers, data=data, timeout=30, # verify=False, # proxies={"http": "http://{}".format(proxy)} ) print(response.status_code, response.content) if response.status_code == 200: result = response.json() try: if int(result['status']) == -2: print('添加数量超过上限,请调整后重新提交。', datetime.now().strftime('%a %b %d %H:%M:%S %Y')) return False elif int(result['status']) == -1: print('添加数量超过上限,同一主站下可批量添加1000个子站,请调整后重新提交。', datetime.now().strftime('%a %b %d %H:%M:%S %Y')) return False except KeyError: pass for line in result['errList']: if int(line['status']) == 4: print('添加网站--', line['url'], '--重复', datetime.now().strftime('%a %b %d %H:%M:%S %Y')) elif int(line['status']) == 2: print('添加网站--', line['url'], '--DNS解析失败,网站不存在', datetime.now().strftime('%a %b %d %H:%M:%S %Y')) elif int(line['status']) == 0: print('添加网站--', line['url'], '--成功', datetime.now().strftime('%a %b %d %H:%M:%S %Y')) elif int(line['status']) == -2: print('添加网站--', line['url'], '--添加数量超过上限', datetime.now().strftime('%a %b %d %H:%M:%S %Y')) else: print('添加网站--', line['url'], '--异常', datetime.now().strftime('%a %b %d %H:%M:%S %Y')) return site_urls else: return None except ConnectionError: # print('服务器断开连接。。。') return None except ReadTimeout: # print('服务器连接超时。。。') return None
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()
def http_push(url_list): while True: global success_num global failure_num global start_time referer = choice(url_list) r = choice(url_list) # print(referer, r) 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