Как загрузить файлы с помощью jwbf?

Я пытался загрузить изображение в свою MediaWiki (v 1.19), настроенную на моем локальном хосте. XAMPP и все остальное настроено и работает. Я могу выполнять другие действия с помощью API.

Но мне не повезло с использованием любого из классов FileUpload/Post. Поскольку в документации почти нет ни одного объяснения того, как выполнить эту задачу, я пробовал несколько вещей, так что это мой код:

//The bot i'm using. Works fine for other purposes.
MediaWikiBot b = new MediaWikiBot("http://localhost/");
b.login("Bot", "password");

//The file I want to upload
File f = new File("/home/op/Necro MP FILES/NPC/GIF/Air Screamer.gif");
SimpleFile sf = new SimpleFile(f.getName(), f);

Но я застрял там. Я не могу найти ни одного метода, который я мог бы использовать для фактической загрузки файла. Я пытался использовать FileUpload, но я ничего не могу использовать.

FileUpload fu = new FileUpload(sf, b);

Он просто создает объект ContentProcessable, и было бы здорово, если бы это работало:

b.performAction(fu);

Но не повезло. У меня закончились вещи для тестирования. Я пытался сделать очень похожую процедуру, используя как HttpBot, так и HttpActionClient, оба должны работать, но с тем же результатом.

Кто-нибудь имеет опыт и может указать мне, что мне не хватает? Мне нужно загрузить около 1500 изображений, и я не собираюсь делать это вручную.

Полный справочник по jwbf находится здесь: http://jwbf.sourceforge.net/tests/

Это журнал, который дает приведенный выше код:

16:07:30.837 [main] DEBUG n.s.j.core.actions.HttpActionClient - /index.php?title=Air+Screamer.gif&action=edit&dontcountme=s
16:07:30.838 [main] DEBUG n.s.j.core.actions.HttpActionClient - message (GET FileUpload) is: 
 hostPath : http://localhost
 queryPath: /index.php?title=Air+Screamer.gif&action=edit&dontcountme=s
16:07:31.423 [main] INFO  n.s.j.m.actions.editing.FileUpload - WRITE: Air Screamer.gif
16:07:31.424 [main] DEBUG n.s.j.core.actions.HttpActionClient - /index.php?title=Special:Upload
16:07:31.426 [main] DEBUG n.s.j.core.actions.HttpActionClient - message (POST FileUpload) [continuing req] is: 
 hostPath : http://localhost
 queryPath: /index.php?title=Special:Upload

person najko    schedule 11.06.2013    source источник
comment
Я ничего не знаю о jwbf, поэтому не могу помочь вам с вашей конкретной проблемой. Но если вы не собираетесь найти решение, вы можете попробовать использовать другую библиотеку для доступа к API (что, вероятно, означает использование другого языка).   -  person svick    schedule 11.06.2013
comment
Могу дать на это около трех дней, пока занимаюсь другими вопросами. Я мог бы поискать документацию по PHP (их много и они хорошо сделаны), но я никогда ничего не писал на PHP. Другие API и этот доставляли много хлопот, но я заставил его работать... до сих пор.   -  person najko    schedule 11.06.2013


Ответы (1)


Поэтому я возился с другим API, который раньше не работал, и понял, как заставить его работать! Это удобно, и мне не нужно иметь дело с такого рода проблемами. Теперь я могу загружать фотографии с помощью метода!

Если кому интересно, это работа MER-C: http://code.google.com/p/wiki-java

person najko    schedule 11.06.2013