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를 사용하려면 pip install request-toolbelt를 통해 설치하고 다음 단계를 따르세요. :
from requests_toolbelt.multipart.encoder import 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 } )
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!