2011-01-12 3 views
0

Несколько небольших проблем.Скрипт загрузки файла (urllib python) и регулярные выражения

1) Какая команда для file.name? Я знаю, что он существует ... когда я делаю file.info(), он появляется под именем filename = «blah blah», поэтому я попробовал file.info() [index], но интерпретатор подбрасывает его. Я не могу найти его где-нибудь в документах для типа объекта, это HTTPResponse.

У меня есть

#Download file 
print("downloading") 
file = urllib.request.urlopen(URL + "/index.php?app=downloads&module=display&section=download&do=confirm_download&id=881")) 


#Write file 
out = open(SAVE_FOLDER + file.name , "wb") ###file.name DOESNTWORK 
out.write(file) 
out.close() 

3) # для информации им каротажного в силовом щитке АГАТА. Чтобы узнать, как войти в сайт, я использовал проводную акулу и нашел http-запрос, который он отправляет на сайт. У него была линейная текстовая часть, в которой говорилось, что referer = blah blah blah. Поэтому я знал, что должен был отправить эти данные на сервер для входа в систему. Но это не сработало, поэтому я по ошибке искал некоторых и случайно обнаружил, что мне также пришлось отправить имя пользователя и пароль. Несмотря на то, что ссылка на адрес реферала имеет имя пользователя и пароль в любом случае.

SO ... мой вопрос. Как бы я узнал, что данные должны были быть

values = "username" : USERNAME, 
      "password" : PASSWORD,   
      "referer" : "http%3A%2F%2FsomeURL.com%2Findex.php%3F&username=" + USERNAME + "&password=" + PASSWORD + "&rememberMe=1" 

вместо того чтобы найти его случайно, как я сделал, так как сообщение POST на Wireshark было только реферер в нем.

Надеюсь, это все. В других вопросах может быть несколько совпадений, поэтому извините. Заранее спасибо

редактировать: Выяснить проблема 2.

+0

Проблема заключается в том, что URL-адрес и имя URL-адреса не имеют значения. URL-адрес: /index.php?app=downloads&module=display§ion=download&do=confirm_download&id=881, а имя файла - 6.71_beta13.w3x – Enders

+0

. А вы были правы в том, что референт не нужен. Я вижу, что мне теперь нужно делать. Большое спасибо. Чтобы получить имя файла, я просто использовал некоторый re на file.info() – Enders

ответ

0
  1. URL, не имеет названия. Самое близкое, что вы получаете, это сам URL, который вы можете получить с помощью файла file.geturl().

  2. Вы бы нашли это, посмотрев форму входа и поля, которые у нее есть. Реферрер, скорее всего, не имеет значения здесь.

Смежные вопросы