0

this is what i've tried and it didn't work. I tried some other stuff but it also gave the same response which is

'{"success":false,"errorcode":400,"description":"No input file(s)"}'

import requests

headers = {

    'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundaryXt3hSEPnfRBwBjIn',
    'Cookie': 'PHPSESSID=nsj01cb9864k1cb0rsga25o243; _ga=GA1.2.1065172575.1499660348; _gid=GA1.2.658410458.1501748127',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
}

url = 'http://pomf.cat/upload.php'
print(open('geckodriver.log', 'rb').read())
files = {'file': open('geckodriver.log', 'rb')}


r = requests.post(url, files=files, headers=headers)

print(r.text)

tried a different file got the same responce

import requests

url = 'http://pomf.cat/upload.php'

files = {'file': open('test.txt', 'rb')}

print(files)
>>>{'file': b'Hello!'}
print(open("test.txt").read())
>>>Hello!
r = requests.post(url, files=files)
print(r.text)
>>>{"success":false,"errorcode":400,"description":"No input file(s)"}

1 Answer 1

2

Have you look at documentation? You have to read file and send data, not just name:

http://docs.python-requests.org/en/master/user/quickstart/#post-a-multipart-encoded-file

I investigated a bit about this pomf (mostly googling) and found interesting solution (look at dict key for files):

>>> files = {'files[]': open('links.txt', 'rb')}
>>> response = requests.post(url, files=files)
>>> response.text
'{"success":true,"files":[{"hash":"316d880916ce07d93f42f6e28c97b004c5f450e3","name":"links.txt","url":"aaztfg.txt","size":1319,"deletion":"f455a0aae7c2665685cc6302f6c8ccd77dfd6f2e"}]}'
>>> 
Sign up to request clarification or add additional context in comments.

4 Comments

yeah I have it was a typo on my end, it still doesn't work when I read it.
files = {'file': open('geckodriver.log', 'rb').read()} print(files) {'file': b'1500939447429\tgeckodriver\tINFO\tListening on 127.0.0.1:63508\n'}
And response the same? Also, make sure you run python3
Yeah, same response. and I'm using python3

Your Answer

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