Esempio n. 1
0
    def request_file(self):
        headers = parse_raw_header(f"""
        Accept: */*
        User-Agent: {ua}
        Accept-Language: zh-cn
        Accept-Encoding: identity
        Connection: Keep-Alive
        """)
        self.meishe.log_msg(f'download {self.video_url} -> {self.local_video}')
        r = requests.get(self.video_url, headers=headers)
        save_bfile(self.local_video, r.content)

        self.meishe.log_msg(f'download {self.logo_url} -> {self.local_image}')
        r = requests.get(self.logo_url, headers=headers)
        save_bfile(self.local_image, r.content)
Esempio n. 2
0
 def request_video_list(self):
     header = parse_raw_header(f'''
     Accept: */*
     Sec-Fetch-Dest: empty
     User-Agent: {ua}
     Origin: https://m.meisheapp.com
     Sec-Fetch-Site: same-site
     Sec-Fetch-Mode: cors
     Referer: {self.html_url}
     Accept-Encoding: gzip, deflate, br
     Accept-Language: en,zh-CN;q=0.9,zh;q=0.8
     ''')
     start_id = self.get_start_id()
     url = f'https://community.meisheapp.com/meishe/user/?queryUserId={self.user_id}&command=getUserFilmList&token=&userId=&maxNum=10&startId={start_id}'
     response = requests.get(url, headers=header)
     self.log_msg(f'request videos {url} {response.status_code}')
     return response.status_code == 200, response.json()
Esempio n. 3
0
 def request_video_index(self):
     headers = parse_raw_header(f"""
     Connection: keep-alive
     Pragma: no-cache
     Cache-Control: no-cache
     Accept: */*
     Sec-Fetch-Dest: empty
     User-Agent: {ua}
     Origin: https://m.meisheapp.com
     Sec-Fetch-Site: same-site
     Sec-Fetch-Mode: cors
     Referer: {self.request_url}
     Accept-Encoding: gzip, deflate, br
     Accept-Language: en,zh-CN;q=0.9,zh;q=0.8
     """)
     url = f'https://api.meisheapp.com/v1/asset/index?asset_id={self.asset_id}&access_token={self.token}&need_ch=1&is_first=0&need_gif=1'
     r = requests.get(url, headers=headers)
     return r.status_code, r.json()
Esempio n. 4
0
 def request_video_html(self):
     headers = parse_raw_header(f'''
     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.9
     accept-encoding: gzip, deflate, br
     accept-language: en,zh-CN;q=0.9,zh;q=0.8
     cache-control: no-cache
     pragma: no-cache
     referer: {self.meishe.html_url}
     sec-fetch-dest: document
     sec-fetch-mode: navigate
     sec-fetch-site: same-origin
     sec-fetch-user: ?1
     upgrade-insecure-requests: 1
     user-agent: {ua}
     ''')
     r = requests.get(self.publish_url, headers=headers)
     self.request_url = r.request.url
     return r.status_code == 200, r.content.decode('utf8')
Esempio n. 5
0
    def request_html(self):
        header = parse_raw_header('''
        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.9
        accept-encoding: gzip, deflate, br
        accept-language: en,zh-CN;q=0.9,zh;q=0.8
        cache-control: no-cache
        cookie: accessToken_pro={token}
        pragma: no-cache
        sec-fetch-dest: document
        sec-fetch-mode: navigate
        sec-fetch-site: none
        sec-fetch-user: ?1
        upgrade-insecure-requests: 1
        user-agent: {ua}
        '''.format(ua=ua, token=self.token))

        response = requests.get(self.html_url, headers=header)
        self.log_msg(f'request html {self.html_url} {response.status_code}')
        return response.status_code == 200, response.content.decode('utf8')
Esempio n. 6
0
    def request_detail(self):
        header = parse_raw_header(f'''
        Accept: */*
        Accept-Encoding: gzip, deflate, br
        Accept-Language: en,zh-CN;q=0.9,zh;q=0.8
        Cache-Control: no-cache
        Connection: keep-alive
        Host: api.meisheapp.com
        Origin: https://m.meisheapp.com
        Pragma: no-cache
        Referer: {self.html_url}
        Sec-Fetch-Dest: empty
        Sec-Fetch-Mode: cors
        Sec-Fetch-Site: same-site
        user-agent: {ua}
        ''')

        url = f'https://api.meisheapp.com/v1/user/detail?query_user_id={self.user_id}&token=&user_id=&access_token={self.token}'
        response = requests.get(url, headers=header)
        self.log_msg(f'request detail {url} {response.status_code}')
        return response.status_code == 200, response.json()
Esempio n. 7
0
    def refresh_token(self, user_id):
        headers = parse_raw_header('''
        Host: api.meisheapp.com
        User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:75.0) Gecko/20100101 Firefox/75.0
        Accept: */*
        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
        Accept-Encoding: gzip, deflate, br
        Origin: https://m.meisheapp.com
        Connection: keep-alive
        Referer: https://m.meisheapp.com/person/index.html?id={user_id}
        Pragma: no-cache
        Cache-Control: no-cache
        '''.format(user_id=user_id))

        response = requests.get(self.token_url, headers=headers)
        if response.status_code != 200:
            raise ResponseError('not 200')

        data = response.json()
        if data['errNo'] != 0:
            raise ResponseError('errNo not 0')

        return data['access_token'], data['expires']