使用python请求发布base64图像数据

时间:2019-04-30 10:20:25

标签: python-requests multipartform-data payload

我正在尝试编写脚本以使用某个API批量发布图像。

  import requests
  from requests_ntlm import HttpNtlmAuth

   headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0',
'Accept': 'application/json, text/plain, */*',
'Accept-Language': 'en-US,en;q=0.9,en-GB;q=0.8,en-CA;q=0.7,zh-CN;q=0.6,zh-HK;q=0.5,zh-SG;q=0.4,zh-TW;q=0.3,ja;q=0.2,ko;q=0.1',
'Referer': 'http://api.website.com:1000/imagecontent?searchscope=imagesearch&searchscopetitle=images%20search',
'Content-Type': 'multipart/form-data; boundary=---------------------------12822957227054',
'Connection': 'keep-alive',
  }

  files = {
        'form': (open('test1.jpg', 'rb'),'image/jpg'),
     }

   response = requests.post('http://api.website.com:1000/api/ItemApi/SaveBinaryItem', headers=headers,files=files, 
 data=payload).json()

  print(response)

我已经尝试了以下从浏览器捕获到的有效负载到上面的代码中。

  -----------------------------12822957227054
  Content-Disposition: form-data; name="mediaItemRequest"

  {"CollectionId":"772646cc-04a6-41bd-b48b-2f74f52c6505","CollectionType":4,"CollectionIndexType":0,"CollectionName":"Banner_Imagery","ItemId":"","ItemKey":"test1.jpg","Item":{"ScheduleStartDate":"1900-12-30T18:38:50.000Z","ScheduleEndDate":"9999-12-30T18:30:00.000Z","Key":"test1.jpg","Name":"test1.jpg","PublishStatus":"","Container":["root"],"DynamicProperties":{"ImageTitle":"","Keywords":"","Comments":"","PreviewImageURL":"","ImageFolderGroup":[],"DatePictureTaken":"1900-12-30T18:38:50.000Z","Copyright":"","RelatedProductItem2":[],"RelatedProductCategories":[],"RelatedProductBrand":[],"LegacyContentType":"","Author":"","_DeploymentPackage":"","_ApprovalWorkflowTrackingItem":"","LastModifiedDate":"1900-12-30T18:38:50.000Z","LegacyCreatedDate":"1900-12-30T18:38:50.000Z"},"CollectionId":"772646cc-04a6-41bd-b48b-2f74f52c6505","DocumentMajorVersion":0,"DocumentMinorVersion":0,"Comments":""},"ImageWidth":0,"ImageHeight":0,"ContentType":"Image","MediaFileName":"test1.jpg","Profiles":["root"]}
     -----------------------------12822957227054
    Content-Disposition: form-data; name="KeepCheckOutOnCreate"

    false
    -----------------------------12822957227054
    Content-Disposition: form-data; name="file"; filename="test1.jpg"
    Content-Type: image/jpeg

    ""  %%""%%//,//6666666666ÿÀ

请求帮助以将上述有效负载转换为python友好的有效负载

0 个答案:

没有答案