> 백엔드 개발 > 파이썬 튜토리얼 > Python의 요청 라이브러리를 사용하여 파일 및 양식 데이터와 함께 Multipart/Form-Data를 보내는 방법은 무엇입니까?

Python의 요청 라이브러리를 사용하여 파일 및 양식 데이터와 함께 Multipart/Form-Data를 보내는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-13 12:25:13
원래의
404명이 탐색했습니다.

How to Send Multipart/Form-Data with Files and Form Data Using Python's Requests Library?

Python에서 요청을 사용하여 Multipart/Form-Data 보내기

Multipart/form-data는 양식 데이터와 양식 데이터를 모두 허용하는 요청 형식입니다. 단일 요청으로 전송될 파일. Python에서 요청에 이 형식을 사용하려면 파일 매개변수를 지정합니다. 이 매개변수는 키가 양식 데이터 매개변수 이름이고 값이 파일 경로 또는 파일 콘텐츠가 포함된 튜플인 사전이어야 합니다.

다음 예에서는 설명합니다. 텍스트 형식 값과 함께 파일 보내기:

import requests

files = {'file_field': 'path/to/file.ext', 'text_field': 'text_value'}

response = requests.post('http://example.com/upload', files=files)
로그인 후 복사

파일 이름 및 내용 제어 유형

파일 사전의 값으로 튜플을 사용하여 각 부분의 파일 이름과 콘텐츠 유형을 제어할 수 있습니다. 튜플은 다음과 같이 2~4개의 요소를 포함해야 합니다.

  • 요소 1: 파일 이름(선택 사항)
  • 요소 2: 콘텐츠
  • 요소 3 (선택 사항): 콘텐츠 유형
  • 요소 4(선택 사항): 추가 헤더

예를 들어, 텍스트 값:

files = {'text_field': (None, 'text_value', 'text/plain')}
로그인 후 복사

동일한 필드 여러 개 지정 이름

동일한 이름을 가진 여러 필드를 보내려면 파일 사전의 값으로 튜플 목록을 사용하세요.

고급 멀티파트 지원을 위한 요청 도구 벨트 사용

requests-toolbelt 프로젝트는 고급 멀티파트 지원을 제공합니다. 요청과 달리 기본적으로 파일 이름 매개변수를 설정하지 않으며 열린 파일 객체에서 필드를 스트리밍할 수 있습니다.

다음은 요청 도구 벨트를 사용하는 예입니다.

from requests_toolbelt.multipart.encoder import MultipartEncoder

mp_encoder = MultipartEncoder(
    fields={
        'file_field': ('file.ext', open('path/to/file.ext', 'rb'), 'application/octet-stream'),
        'text_field': 'text_value',
    }
)

response = requests.post(
    'http://example.com/upload',
    data=mp_encoder,
    headers={'Content-Type': mp_encoder.content_type}
)
로그인 후 복사

위 내용은 Python의 요청 라이브러리를 사용하여 파일 및 양식 데이터와 함께 Multipart/Form-Data를 보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿