首頁 >後端開發 >Python教學 >為什麼我的 Python 請求檔上傳失敗,如何修復?

為什麼我的 Python 請求檔上傳失敗,如何修復?

Patricia Arquette
Patricia Arquette原創
2024-12-02 18:36:12748瀏覽

Why Are My Python Requests File Uploads Failing, and How Can I Fix Them?

使用Python 請求上傳檔案

嘗試使用Python 請求庫上傳檔案時,使用者可能會遇到檔案不存在的情況伺服器成功接收。這可能會令人沮喪,特別是當其他解決方案缺乏解決問題所需的見解時。

理解問題

在描述的特定實例中,使用者透過使用表單提交來上傳檔案requests.post() 方法。儘管提供了正確的檔案名稱和內容,但伺服器無法識別上傳的檔案。相反,它報告上傳的文件為空。

解決方案

解決此問題的關鍵在於正確指定 requests.post() 的檔案參數和資料參數方法。上傳檔案時,必須指定檔案名稱與其內容的對應。在本例中,使用者嘗試設定檔案和資料參數。

使用 Python 請求上傳檔案的正確方法是使用 files 參數來指定檔案的對應。以下是修復該問題的更新程式碼片段:

import requests

url = 'http://nesssi.cacr.caltech.edu/cgi-bin/getmulticonedb_release2.cgi/post'
files = {'upload_file': open('file.txt', 'rb')}
values = {'DB': 'photcat', 'OUT': 'csv', 'SHORT': 'short'}

r = requests.post(url, files=files, data=values)

透過將檔案映射放入 files 參數中,請求庫將自動處理多部分錶單提交,包括設定適當的標頭。

處理進階場景

在某些情況下,使用者可能需要進一步控制檔案上傳過程。 Python 請求支援各種選項來自訂檔映射,包括提供檔案名稱和內容類型。對於更複雜的場景,例如從文件上傳整個 POST 正文,可以使用 data 參數而不使用 files 參數。

結論

透過了解檔案和資料的正確用法參數,使用者可以使用Python請求成功上傳檔案。這使得文件上傳能夠無縫整合到自動化腳本和程式中。

以上是為什麼我的 Python 請求檔上傳失敗,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn