сценарий публикации сообщений, Invision Powerboard - PullRequest
1 голос
/ 15 января 2011

Итак, есть две вещи, которые мы делаем на определенном сайте: загрузка новых файлов и публикация файлов, и их легко определить (и утомительно), поэтому я пытался написать это.

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

#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&section=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 только потому, что знал это.

Большое спасибо.

...