Beispiel #1
0
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('服务器未返回正确数据。。')
Beispiel #2
0
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))
Beispiel #3
0
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()
Beispiel #4
0
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))
Beispiel #5
0
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()
Beispiel #6
0
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))
Beispiel #7
0
    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)
Beispiel #8
0
async def run(num):
    tasks = []
    # Semaphore, 相当于基于服务器的处理速度和测试客户端的硬件条件,一批批的发
    # 直至发送完全部(下面定义的number/num)
    sem = asyncio.Semaphore(2000)
    # 创建session,且对本地的TCP连接不做限制limit=0
    # 超时时间指定
    # total:全部请求最终完成时间
    # connect: aiohttp从本机连接池里取出一个将要进行的请求的时间
    # sock_connect:单个请求连接到服务器的时间
    # sock_read:单个请求从服务器返回的时间
    import aiohttp
    # timeout = aiohttp.ClientTimeout(total=300, connect=60, sock_connect=60, sock_read=60)
    async with ClientSession(connector=TCPConnector(limit=0)) as session:
        while True:
            cookie_jar = PushTool.get_cookies()
            for i in range(0, num):
                # 如果是分批的发,就使用并传递Semaphore
                task = asyncio.ensure_future(
                    bound_register(sem=sem,
                                   session=session,
                                   cookie_jia=cookie_jar))
                tasks.append(task)
            responses = asyncio.gather(*tasks)
            await responses
Beispiel #9
0
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))
Beispiel #10
0
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)
Beispiel #11
0
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))
Beispiel #12
0
 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
Beispiel #13
0
from tools.push_tools import PushTool
import requests
import traceback
from threadpool import makeRequests, ThreadPool

success_count = 0
failure_count = 0
cookie = PushTool.get_cookies()


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',
        }
Beispiel #14
0
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,
            ))
Beispiel #15
0
from tools.push_tools import PushTool
import requests
from urllib import parse
from datetime import datetime
from random import choice, randint

success_num = 0
failure_num = 0
cookie = PushTool.get_cookies()
start_time = datetime.now()
all_site = PushTool.get_all_site()


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',
Beispiel #16
0
import requests
from tools.push_tools import PushTool
from urllib import parse

success_code = 0
fail_code = 0
server = PushTool.https_target()
cookie = PushTool.get_cookies()


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
Beispiel #17
0
 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()
Beispiel #18
0
from tools.push_tools import PushTool
import requests
from requests.exceptions import ConnectionError
from datetime import datetime
from random import choice, randint
from json.decoder import JSONDecodeError

all_site = PushTool.get_all_site()


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)
Beispiel #19
0
    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()
Beispiel #20
0
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
Beispiel #21
0
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()
Beispiel #22
0
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