Python에서 양식 데이터를 사용하여 파일 요청을 업로드하는 방법

王林
풀어 주다: 2023-05-15 09:10:05
앞으로
2478명이 탐색했습니다.

현재 대부분의 기존 인터페이스는 json 형식으로 요청되지만

일부 인터페이스에서는 파일 스트림을 전송해야 하는 것이 불가피합니다. 이 경우 양식 데이터 형식으로 업로드해야 합니다

for.e:

다음과 같은 인터페이스가 존재하며, 인터페이스를 통해 포스터 이미지를 생성해야 하지만 썸네일을 업로드해야 합니다.

이때 인터페이스의 Content-Type은 application/json이 될 수 없고 multipart/form-data가 될 수 있습니다.

매개변수 형식은 다음과 같습니다.

postman 형식으로도 전달됩니다. 에서 파일 스트림을 설정하는 것은 매우 간단합니다. 파일 형식을 설정한 다음 로컬로 업로드할 파일을 선택할 수 있습니다. 아래 그림을 참조하세요. 실제 요청 인터페이스 성공할 수 있습니다

Python에서 양식 데이터를 사용하여 파일 요청을 업로드하는 방법

파이썬을 사용하여 위 요청을 완료하려면 명확한 요청 방법이 필요합니다. 그리고 데이터 유형 및 파일 읽기 파일 업로드

import requests
import json
from requests_toolbelt.multipart.encoder import MultipartEncoder
 
url='http://XXX.xxx.xxx.xx:9900/api-marketing-center/poster/save'
 
data={'activityName':'我是个海报2',
        'backgroundPicUrl':'https://xxxxx/default/f865a1aa66adfe50d005bd840e2c3356.jpg',
        'copywriting':'我是个海报  看看我2',
        'endTime':'2021-08-14 16:00:00',
        'startTime':'2021-08-11 16:00:00',
        'giftPicUrl':'https://xxxxx/file/c363c3173ac7c02393bf60018031073d.PNG',
        'qrCodeUrl':'https://xxxxxx/file/c363c3173ac7c02393bf60018031073d.PNG',
        'posterUrlThumbnail':'文件'
        }
files = {"posterUrlThumbnail": open('C:/Users/Lenovo/Desktop/格式测试/12.PNG', "rb")}
 
headers={'AUTH_MERCHANTS_ID': '76',
'Authorization': 'Bearer ad8cbdf3-c827-470a-aba5-076f0f3a9628'}  
 
r=requests.post(url=url,params=data, headers=headers,files=files)
 
print(r.json())
 
#{'code': 0, 'msg': '操作成功', 'data': None}
로그인 후 복사

data: 요청의 매개변수를 입력합니다. 그중 매개변수에 주의해야 합니다. 업로드 파일 스트림의 이름Python에서 양식 데이터를 사용하여 파일 요청을 업로드하는 방법

files = {"posterUrlThumbnail": open('C:/Users/Lenovo/Desktop/ Format test/12.PNG', "rb")}

posterUrlThumbnail은 사용된 매개변수 이름입니다. 할당을 위해 파일을 열고 값을 읽고 할당합니다.

위에서 가장 간단하게 하드 코딩된 헤더를 사용하고,

요청 라이브러리의 메서드를 호출합니다. 요청하여 결과를 얻을 수 있습니다

물론 캡슐화할 수도 있습니다. 로그인을 호출하고 토큰과 필수 헤더 매개변수를 얻는 더 복잡한 방식의 로그인 메소드

위 내용은 Python에서 양식 데이터를 사용하여 파일 요청을 업로드하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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