0
votes

I am trying to convert a curl of pisignage into python requests. The curl is,

curl -X POST "https://swagger.piathome.com/api/files" -H "accept: application/json" -H "x-access-token: login_session_token" -H "Content-Type: multipart/form-data" -F "Upload [email protected];type=image/jpeg"

My code is,

import requests

files = {'Upload file': open('test.jpg', 'rb'), 'type': 'image/jpeg'}
headers = {'Content-type': 'multipart/form-data', 'accept': 'application/json', 'x-access-token': 'login_session_token'}

file_response = requests.post(
    'https://swagger.piathome.com/api/files',
    files=files,
    headers=headers
)
print(file_response)

It returns 404. I tried uncurl, the code is:

import uncurl

u = uncurl.parse('curl -X POST "https://swagger.piathome.com/api/files" -H "accept: application/json" -H "x-access-token: login_session_token" -H "Content-Type: multipart/form-data" -F "Upload file=test.jpg;type=image/jpeg"')

print(u)

The output is ,

error: unrecognized arguments: -F Upload file=test.jpg;type=image/jpeg

1

1 Answers

0
votes

Try this

  import requests

    headers = {
        'accept': 'application/json',
        'x-access-token': 'login_session_token',
        'Content-Type': 'multipart/form-data',
    }

    files = {
        'Upload file': (None, 'test.jpg;type'),
    }

    response = requests.post('https://swagger.piathome.com/api/files', headers=headers, files=files)

link to parse curl to request python