ファイルのダウンロード、ファイルアップロードのためのプログラム。

みなさん、こんにちは、今日、チャットのアップロードに関連する文書をダウンロードしてください。

需要: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(テキスト)は、ファイルをアップロードする機能を呼び出します

 

 

 

おすすめ

転載: www.cnblogs.com/yanhonghong/p/11619555.html