Участник:Тихмонатор Тестбот/Java Wiki/Исправления

Материал из Anekdot.me
Перейти к: навигация, поиск

http[править]

Работа с библиотекой Java подразумевает, что обрабатываемый сайт использует протокол https. Тем не менее, это не всегда так, например, Anekdot.me сидит на незащищённом http, из-за чего подключение к нему требует редактирования исходного кода.

Итак, что делать, если расхождение в протоколах не позволяет подключиться к сайту. Подвох кроется в функции initVars(), вызываемой в конструкторе объекта типа Wiki, точнее, в первой же её строчке:

StringBuilder basegen = new StringBuilder("https://");

Самый простой выход — исправить "https://" на "http://", как то рекомендует автор скрипта при помощи комментариев. Также можно отредактировать функцию initVars() таким образом, чтобы в качестве параметра она получала строку-схему обращения к выбранному ресурсу String protocol и соответствующим образом изменить конструкторы.


NullPointerException в методе upload[править]

Может получится, что при попытке загрузить файл в неанглоязычный википроект произойдёт выброс NullPointerException. Проблема может крыться в префиксах пространства имён «Файл». В методе upload() искусственно прикручивается префикс "File: ", а в вызываемом внутри upload() методе getPageInfo() (в случае русскоязычного википроекта) адрес страницы имеет кириллический префикс "Файл: ". Из-за этого расхождения два полученных имени считаются различными, что ведёт к некорректной работе программы. Чтобы это исправить, можно подкорректировать соответствующие строки метода upload():