Das Forum ist phpBB 3.10.0, und die Dateien werden in einen MOD hochgeladen, der DownloadMOD heißt.
In Python verwende ich mechanize um als "Browser" zu fungieren. Der betreffende Code sieht so aus:
Code: Alles auswählen
def upload_file(self, infilename, description, long_desc, category=None, cat_id=None):
if not cat_id:
try:
cat_id = self.category_map[category]
except KeyError:
raise UnknownCategory("Category \"%s\" unknown." % category)
# open upload page
up_url = Uploader.BASE_URL+Uploader.PATH_UPLOAD+str(cat_id) # die URL für das Upload-Formular
logger.debug("Upload URL is: %s", up_url)
self.browser.open(up_url)
self.browser.select_form(nr=1)
self.browser["description"] = description
self.browser["long_desc"] = long_desc
self.browser["cat_id"] = [str(cat_id)]
# guess mimetype
mimetype = mimetypes.guess_type(infilename)[0]
logger.debug("MIME-type of file is: %s", mimetype)
# open file to be uploaded and submit form
with open(infilename, 'rb') as f:
self.browser.form.add_file(f, mimetype, os.path.basename(infilename))
try:
r = self.browser.submit()
except mechanize.HTTPError:
raise DLModError("An error uploading the file occured")
Wenn es fehlschlägt, bekomme ich auf der Antwortseite angezeigt:
Hat jemand irgendeine Ahnung, warum dieser Fehler kommt? Wann kommt er normalerweise? Was kann man dagegen tun?Das übermittelte Formular war ungültig. Versuchen Sie erneut, das Formular abzusenden.
Bin für jeden Tip dankbar, auch wenns nur Ideen sind.
mfg, fat-lobyte