Wykonuję proste zadanie załadowania pliku za pomocą biblioteki żądań Pythona. Przeszukałem Stack Overflow i wydawało się, że nikt nie ma tego samego problemu, a mianowicie, że plik nie został odebrany przez serwer:
import requests
url='http://nesssi.cacr.caltech.edu/cgi-bin/getmulticonedb_release2.cgi/post'
files={'files': open('file.txt','rb')}
values={'upload_file' : 'file.txt' , 'DB':'photcat' , 'OUT':'csv' , 'SHORT':'short'}
r=requests.post(url,files=files,data=values)
Wypełniam wartość słowa kluczowego „upload_file” moją nazwą pliku, ponieważ jeśli zostawię to pole puste, zostanie wyświetlone
Error - You must select a file to upload!
A teraz rozumiem
File file.txt of size bytes is uploaded successfully!
Query service results: There were 0 lines.
Który pojawia się tylko wtedy, gdy plik jest pusty. Więc utknąłem, jak pomyślnie wysłać mój plik. Wiem, że plik działa, ponieważ jeśli wejdę na tę stronę i ręcznie wypełnię formularz, zwraca ładną listę dopasowanych obiektów, o co mi chodzi. Naprawdę doceniłbym wszystkie wskazówki.
Kilka innych wątków powiązanych (ale nie odpowiadających na mój problem):