Отправка форм и загрузка файлов с помощью командной строки Linux - PullRequest
2 голосов
/ 08 декабря 2010

Мне нужно публиковать формы и загружать файлы на веб-сайт с помощью командной строки Linux.

Я провел некоторый поиск и хотел бы написать скрипт на Python.

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

Вот подробности:

Журнал сайтана странице: hxxp://www.example.com/login.html

<form action="/signin.html" method="post"> 
Username:<input type="text" name="username">
Password:<input type="password" name="password">
<input type="hidden" name="referer" value="http://www.example.com/"> 
<input type="submit" name="submit" value="  Login  ">
</form>

Страница загрузки: hxxp://www.example.com.com/upload/

<form action="http://www.example.com:81/upload/upload.cgi" enctype="multipart/form-data" method="post"> 
<input type="hidden" name="MAX_FILE_SIZE" value="314572800" /> 

File:
<input name="filename[]" type="file" />
Type:
<input type="radio" name="typeID" value=1> Option One
<input type="radio" name="typeID" value=2> Option Two
<input type="radio" name="typeID" value=3> Option Three
Title:
<input type="text" name="title" > 
Description:
<textarea name="description"></textarea>

<input type="checkbox" name="agree" value="agree_terms"> I Accept Terms

<input type="submit" value="Upload It!">
</form>

Эта форма содержит радио, текст, флажок, файл и т. д.

Пожалуйста, дайте мне подсказку!

Я использую CentOS 5.5, с установленным Python, wget, PHP.Я думаю, что это можно сделать в скрипте Python.

Большое спасибо!Ваш ответ будет лучшим подарком на Рождество, который я получил.;)

1 Ответ

2 голосов
/ 08 декабря 2010

Конечно, вы можете использовать urllib2 для выполнения этой задачи. Прочитайте документы о том, как обращаться с файлами cookie и как загружать файлы. Тем не менее, я думаю, что использование mechanize может сэкономить много времени. Механизация позволяет вам работать с веб-страницами так, как если бы вы использовали браузер:

import mechanize

br = mechanize.Browser()
br.open("http://www.example.com/")
br.select_form()
br['username'] = 'user'
br['password'] = 'pass'
br.submit()

etc.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...