Итак, есть две вещи, которые мы делаем на определенном сайте: загрузка новых файлов и публикация файлов, и их легко определить (и утомительно), поэтому я пытался написать это.
Так или иначе, у меня есть скрипт загрузки файла. Я могу повторно использовать код входа
#Cookies
cookies = http.cookiejar.LWPCookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookies))
urllib.request.install_opener(opener)
#Authenticate user
print("logging in")
url = "http://someurl.com/index.php?app=core&module=global§ion=login&do=process"
values = {"username" : USERNAME,
"password" : PASSWORD}
data = urllib.parse.urlencode(values)
req = urllib.request.Request(url, data)
urllib.request.urlopen(req)
Но чтобы опубликовать тему с указанным файлом, вы должны прикрепить ее. Я знаю, как отправить правильное название и текст для ветки из того, что я узнал о том, как войти в систему. Моя проблема заключается в том, что для прикрепления файлов необходимо отправить запрос на форму , а не на страницу запроса ,
НАПРИМЕР. Вы выбираете нужный файл из диалогового окна файла и затем нажимаете прикрепить файлы, которые он затем загружает, затем вы завершаете запись в своей ветке и ТОГДА отправляете страницу.
Вот соответствующий HTML
<fieldset class='attachments'>
<script type='text/javascript'>
//<![CDATA[
ipb.lang['used_space'] = "Used <strong>[used]</strong> of your <strong>[total]</strong> global upload quota (Max. single file size: <strong>256MB</strong>)";
//]]>
</script>
<h3 class='bar'>Attachments</h3>
<!--SKINNOTE: traditional uploader needs this. -->
<div id='attach_error_box' class='message error' style='display:none'></div>
<input type='file' id='nojs_attach_0_1' class='input_upload' name='FILE_UPLOAD' tabindex='1' />
<input type='file' id='nojs_attach_0_2' class='input_upload' name='FILE_UPLOAD' tabindex='1' />
<ul id='attachments'><li style='display: none'></li></ul>
<br />
<span id='buttonPlaceholder'></span>
<input type='button' id='add_files_attach_0' class='input_submit' value='Attach This File' style='display: none; clear: both' tabindex='1' /> <span class='desc' id='space_info_attach_0'>Used <strong>9.45MB</strong> of your <strong>976.56MB</strong> global upload quota (Max. single file size: <strong>256MB</strong>)</span>
Я понятия не имею, как это кодировать, поэтому я ищу направление.
Кроме того, если кто-нибудь сказал, что этот сценарий Сорта был проще на других языках, скажите мне, что? Я использовал Python только потому, что знал это.
Большое спасибо.