Python のリクエスト ライブラリを使用してファイルをアップロードするにはどうすればよいですか?
P粉071559609
P粉071559609 2023-08-16 18:44:37
0
2
659
<p>Python のリクエスト ライブラリを使用して、ファイルをアップロードするという単純なタスクを実行しています。 Stack Overflow で検索しましたが、ファイルがサーバーに受信されないという同じ問題を抱えている人はいないようです。 <pre class="brush:php;toolbar:false;">インポート リクエスト url='http://nesssi.cacr.caltech.edu/cgi-bin/getmulticonedb_release2.cgi/post' files={'files': open('file.txt','rb')} 値={'upload_file' : 'file.txt' 、 'DB':'photcat' 、 'OUT':'csv' 、 'SHORT':'short'} r=requests.post(url,files=ファイル,data=values)</pre> <p>「upload_file」キーワードの値にファイル名を入力しました。空白のままにすると、次のようになります。</p> <pre class="brush:php;toolbar:false;">エラー - アップロードするファイルを選択する必要があります。 </pre> <p>これで、次のようになります: </p> <pre class="brush:php;toolbar:false;">ファイル file.txt のサイズはバイトで、正常にアップロードされました。 クエリ サービスの結果: 合計 0 行があります。 </pre> <p>これはファイルが空の場合にのみ発生します。そのため、ファイルを正常に送信する方法がわかりません。フォームに手動で入力してサイトにアクセスすると、一致するリストが返されるため、ファイルが有効であることがわかります。これはまさに私が望んでいたものです。すべてのヒントに本当に感謝しています。 </p> <p>関連する他のスレッド (ただし、私の問題は解決しません): </p>
    <li>Python スクリプトを使用して POST 経由でファイルを送信します</li> <li>http://docs.python-requests.org/en/latest/user/quickstart/#response-content</li> <li>リクエストを使用してファイルをアップロードし、追加データを送信します</li> <li>http://docs.python-requests.org/en/latest/user/advanced/#body-content-workflow</li> </ul>


P粉071559609
P粉071559609

全員に返信(2)
P粉422227023

(2018) 新しい Python リクエスト ライブラリは、このプロセスを簡素化します。「files」変数を使用して、マルチパートでエンコードされたファイルをアップロードすることを示すことができます

リーリー
いいねを押す +0
P粉590428357

upload_file がファイルを参照する場合は、次を使用します:

リーリー

その後、requests は、file.txt ファイルの内容に設定された upload_file フィールドを含むマルチパート フォームの POST リクエスト本文を送信します。

ファイル名は特定のフィールドの MIME ヘッダーに含まれます:

リーリー

filename="file.txt"パラメータに注意してください。

さらに制御が必要な場合は、タプルを files マッピング値として使用できます。タプルの長さは 2 ~ 4 である必要があります。最初の要素はファイル名で、その後にコンテンツが続きます。オプションでコンテンツ タイプ ヘッダーと他のヘッダーのマッピングも含まれます。

リーリー

これにより、オプションのヘッダーが省略されて、代替のファイル名とコンテンツ タイプが設定されます。

POST リクエストの本文全体をファイルから取得する場合 (他のフィールドは指定しない)、files パラメーターを使用せず、ファイルを data として直接 POST します。 Content-Type ヘッダーを設定することもできます。そうしないと、ヘッダーは設定されません。 Python リクエスト - ファイルからの POST データを参照してください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート