みなさん、こんにちは、今日、チャットのアップロードに関連する文書をダウンロードしてください。
需要:busyboxのサイト上のファイルをダウンロードして、https://pastebin.comにアップロードする、プログラムを介して、あなたのサイトにいくつかのファイルを入れて、サイトのファイルを構築することで、ユーザアイデンティティのアップロードに基づいている必要があります。
分析:最初のステップ:ユーザーのアップロードを提出する方法:、サイトからの第2工程をファイルを取得する方法
:ファイルを構築するためにサイトを使用する方法のbusyboxのは、を参照してください。https://blog.csdn.net/haofan_/article/details/78369352
以下のコードを参照してください。
以下からの HTTP インポートをCookieJar から urllib.parse インポートでurlencode から urllib.request インポート要求、urlopen、HTTPCookieProcessor、build_opener から BS4 インポートBeautifulSoup #のファイルのダウンロード機能 DEF )(ファイル名: URL = " XXX " #のファイルサイトは、ルーティング #リクエストヘッダを header_info = { " user--剤":" XXXX "、#のユーザエージェント " 認可":「XXX 」 #認証情報は、このフィールドは、サイトには、このフィールドを設定することができるかどうかを検証する必要があるかもしれません、パケットキャプチャツールを取得するために使用することができます } R&LT =リクエスト(URL = URL、ヘッダ= header_info) #インスタンス化リクエストオブジェクト 試して: RES urlopen =(R&LT) #は、要求送信 リターン(res.read))を(デコード。#ファイルの内容を取得する 以外E AS例外: 印刷(E)#1 印刷例外情報 #は、アップロード機能定義 DEF send_file(コード): #1 アナログ加入者をログイン LOGIN_URL = 「https://pastebin.com/login 」 #のルーティングログイン #ログインフォームデータを form_data = { " submit_hidden ":" submit_hidden " 、 " USER_NAME ":" XXX " 、 " USER_PASSWORD ":" XXX " 、 " 提出":" ログイン" } #构建请求头信息 login_header = { " のUser-Agent ":" XXX " } #クッキー管理ツール = CJ cookiejar.CookieJar() ハンドラ = HTTPCookieProcessor(CJ) オープナー = - build_opener(ハンドラ) #オープナークッキーを搬送する送信要求用い paramsは=でurlencode(form_data) #の符号化されたフォームデータ login_r =要求(LOGIN_URL、データ= params.encode()を、ヘッダ= login_header) #のリクエストオブジェクトのインスタンス化 login_res = opener.open(login_r) #リクエストを送信 した場合 login_res.url == 「XXX 」:#URLを介してユーザのログインが成功したかどうかを判断する #のアップロード #はトークンアップロードページの取得 token_urlを= " XXX " 、 token_res = opener.open(TOKEN_URL) #要求送信 token_htmlを= BeautifulSoup(token_res、' lxmlの' ) トークン = STR(token_html.select(' [NAME = csrf_token_post] ')[0])。スプリット(" 値")。1 ] [2:-3] #はトークン与える #のビルドファイルアップロードフォームデータ file_form_data = { " csrf_token_post " トークン、 " submit_hidden ":" submit_hidden " 、 " paste_codeを" :コード、 " paste_format ":" 1 " " paste_expire_date ":" N " " paste_private ":" 0 " " paste_name ":" my_code " } #构建请求头信息 send_file_header = { " ユーザエージェント」:"XXX " } send_file_url = " https://pastebin.com/post.php " send_params = でurlencode(file_form_data) send_r =要求(send_file_url、データ= send_params.encode()、ヘッダ= send_file_header) send_res = opener.open(send_r) 場合 send_res。ステータス== 200 : 印刷(" 上传成功!" ) それ以外: 印刷(" 失败上传!" ) それ以外: 印刷(" 失败登录!") の場合 __name__ == " __main__ " : テキスト = GET_FILE() #ファイルのダウンロード機能を呼び出し send_file(テキスト)は、#ファイルをアップロードする機能を呼び出します