使用requests
库上传文件是非常简单的。下面是一个完整的示例,展示了如何使用requests
上传文件,包括基本的错误处理。
文件上传示例
import requests
def upload_file(file_path, url):
"""上传文件到指定 URL"""
try:
# 打开文件并进行上传
with open(file_path, 'rb') as file:
files = {'file': file} # 文件参数的字典
response = requests.post(url, files=files) # 发送 POST 请求
# 检查响应状态
response.raise_for_status() # 如果响应状态码不是 200-299,会抛出异常
# 返回 JSON 响应
return response.json() # 假设服务器返回 JSON 格式数据
except requests.RequestException as e:
print(f'上传文件失败: {e}')
except FileNotFoundError:
print('文件未找到,请检查路径')
except Exception as e:
print(f'发生错误: {e}')
if __name__ == '__main__':
# 替换为实际的文件路径和 API 地址
file_path = 'example.txt' # 要上传的文件路径
url = 'https://api.example.com/upload' # 上传的目标 URL
upload_response = upload_file(file_path, url)
if upload_response:
print('上传成功:', upload_response)