현재 대부분의 기존 인터페이스는 json 형식으로 요청되지만
일부 인터페이스에서는 파일 스트림을 전송해야 하는 것이 불가피합니다. 이 경우 양식 데이터 형식으로 업로드해야 합니다
for.e:
다음과 같은 인터페이스가 존재하며, 인터페이스를 통해 포스터 이미지를 생성해야 하지만 썸네일을 업로드해야 합니다.
이때 인터페이스의 Content-Type은 application/json이 될 수 없고 multipart/form-data가 될 수 있습니다.
매개변수 형식은 다음과 같습니다.
postman 형식으로도 전달됩니다. 에서 파일 스트림을 설정하는 것은 매우 간단합니다. 파일 형식을 설정한 다음 로컬로 업로드할 파일을 선택할 수 있습니다. 아래 그림을 참조하세요. 실제 요청 인터페이스 성공할 수 있습니다
파이썬을 사용하여 위 요청을 완료하려면 명확한 요청 방법이 필요합니다. 그리고 데이터 유형 및 파일 읽기 파일 업로드
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: 요청의 매개변수를 입력합니다. 그중 매개변수에 주의해야 합니다. 업로드 파일 스트림의 이름
files = {"posterUrlThumbnail": open('C:/Users/Lenovo/Desktop/ Format test/12.PNG', "rb")}
posterUrlThumbnail은 사용된 매개변수 이름입니다. 할당을 위해 파일을 열고 값을 읽고 할당합니다.요청 라이브러리의 메서드를 호출합니다. 요청하여 결과를 얻을 수 있습니다 물론 캡슐화할 수도 있습니다. 로그인을 호출하고 토큰과 필수 헤더 매개변수를 얻는 더 복잡한 방식의 로그인 메소드위에서 가장 간단하게 하드 코딩된 헤더를 사용하고,
위 내용은 Python에서 양식 데이터를 사용하여 파일 요청을 업로드하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!