Pixhost's Api- Upload Images

Pixhost's Api- Upload Images

I'm trying to use PiXhost's api to upload images. Every time I request something from it always returns 400 Bad request. Their API documentation uses python unirest package, but I can't install it as it seems to use too old code.

Am I doing something wrong here?

Link to documentation

my code:

import requests
headers = {
    "Content-Type": "multipart/form-data; charset=utf-8",
    "Accept": "application/json"
}
params = {
    "content_type": "0",
    "max_th_size": "420"
}
files = {
    "img": open("image.jpg", mode="rb")
}

response = requests.post("", headers=headers, params=params, files=files)
3

2 Answers

import requests

url = ""

payload={'content_type': '0',
'max_th_size': '420'}
files={
    'img': ('1.JPG', open('C:/Users/prave/Desktop/1.JPG', 'rb')),
    'content_type': '0',
    'max_th_size': '420'
}
headers = {

}

response = requests.request("POST", url, data=payload, files=files)

print(response)

Here you go

output :

Response 200

Issue with your code:

THe endpoint expects formdata , you are passing query parameter

So how did i figure it out

goto documentation and click curl tab to get curl equalent code:

Now goto postman and click import>Raw text > paste the curl , and click continue and then import

This creates the request for you

Now goto body and select img type as file and upload the file:

Now click code and generate equalent curl and python request code:

THe generated python code had few isseus one was to remove header completely and then to remove one slash from the file name.

4

Just a quick test, I managed to get it done via cURL

curl -X POST --include "" \
  -H 'Content-Type: multipart/form-data; charset=utf-8' \
  -H 'Accept: application/json' \
  -F '[email protected]' \
  -F 'content_type=0' \
  -F 'max_th_size=420'

Note: the test1 image is in the same folder when I running the script

I also receive 400 status code without a body when removing the @ before the URL (so check you URL again)

HTTP/1.1 400 Bad Request
Server: nginx/1.10.3 (Ubuntu)
1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Alexander Ross
Author

Alexander Ross

Alexander Ross has covered the video game industry for a decade, writing deep dives on game design, esports tournaments, VR developments, and gaming culture.