I am trying to convert the following curl to a python request. This request uploads a zip file.
curl -k -i -X POST --form 'session.id=e7a29776-5783-49d7-afa0-b0e688096b5e' --form 'ajax=upload' --form '[email protected];type=application/zip' --form 'project=MyProject' https://localhost:8443/manager
Using curl to python convertor tool - I got this
import requests
files = {
'session.id': (None, 'e7a29776-5783-49d7-afa0-b0e688096b5e'),
'ajax': (None, 'upload'),
'file': ('myproject.zip;type', open('myproject.zip;type', 'rb')),
'project': (None, 'MyProject'),
}
response = requests.post('https://localhost:8443/manager', files=files, verify=False)
But this doesn't work
1 Answer 1
Try separating data and files:
import requests
data = {
"ajax": "upload",
"project": "MyProject",
"session.id": "e7a29776-5783-49d7-afa0-b0e688096b5e",
}
files = {"file": ("myproject.zip", open("myproject.zip", "rb"), "application/zip")}
response = requests.post("https://localhost:8443/manager", data=data, verify=False, files=files)
answered Nov 16, 2021 at 7:49
RJ Adriaansen
9,7192 gold badges16 silver badges29 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
lang-py