>백엔드 개발 >파이썬 튜토리얼 >Requests 및 Requests-Toolbelt를 사용하여 Python에서 Multipart/Form-Data 요청을 보내는 방법은 무엇입니까?

Requests 및 Requests-Toolbelt를 사용하여 Python에서 Multipart/Form-Data 요청을 보내는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-26 10:37:14621검색

How to Send Multipart/Form-Data Requests in Python using Requests and Requests-Toolbelt?

Python에서 요청과 함께 멀티파트/양식 데이터 보내기

Requests는 멀티파트/양식 데이터 요청을 보내는 기능을 제공하여 파일 업로드와 양식 데이터 제출을 모두 허용합니다. .

파일 업로드

파일을 업로드하려면 파일에 키-값 쌍을 지정하기만 하면 됩니다. 여기서 키는 양식 필드 이름이고 값은 열린 파일 객체 또는 파일 경로입니다. 예를 들어:

import requests

with open('image.jpg', 'rb') as f:
    file_data = {'image': f}

response = requests.post('http://example.com/upload', files=file_data)

양식 데이터 제출

양식 데이터를 보내려면 files 매개변수를 사용할 수도 있습니다. 그러나 파일 업로드와 달리 값은 파일 객체가 아니라 문자열 또는 바이트입니다.

양식 데이터를 지정하려면 키가 양식 필드 이름이고 값이 제출하려는 데이터인 사전을 사용하세요. 예:

form_data = {'username': 'myusername', 'password': 'mypassword'}

response = requests.post('http://example.com/login', files=form_data)

파일과 양식 데이터 결합

files 및 data 매개변수를 모두 사용하여 파일을 업로드하고 양식 데이터를 동시에 제출할 수 있습니다. 데이터가 문자열이면 파일 대신 사용됩니다. 데이터가 사전인 경우 파일과 병합됩니다.

예:

form_data = {'comment': 'Hello, world!'}
file_data = {'image': 'image.jpg'}

response = requests.post('http://example.com/post', data=form_data, files=file_data)

Requests-Toolbelt를 통한 고급 멀티파트 지원

requests-toolbelt 라이브러리는 다음을 제공합니다. 다음과 같은 고급 기능을 포함하는 향상된 멀티파트 지원:

  • 스트리밍 데이터 uploads
  • 사용자 정의 파일 이름 및 MIME 유형
  • 각 부분에 대한 추가 헤더

requests-toolbelt를 사용하려면 pip install request-toolbelt를 통해 설치하고 다음 단계를 따르세요. :

  1. 필요한 항목을 가져옵니다. 모듈:
from requests_toolbelt.multipart.encoder import MultipartEncoder
  1. MultipartEncoder 객체 생성:
mp_encoder = MultipartEncoder(
    fields={
        'field_name': 'field_value',
        ('file_name', 'file_content', 'file_type'),
        # Other form data fields and files can be added here
    }
)
  1. Make HTTP 요청:
headers = {'Content-Type': mp_encoder.content_type}
response = requests.post('http://example.com/post', data=mp_encoder, headers=headers)

이러한 방법을 활용하면 파일 업로드와 양식 데이터 제출 모두에 대해 Python에서 멀티파트/양식 데이터 요청을 원활하게 보낼 수 있습니다.

위 내용은 Requests 및 Requests-Toolbelt를 사용하여 Python에서 Multipart/Form-Data 요청을 보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.