2012-05-11 2 views
2

У меня есть веб-сайт, который я хочу проверить, чтобы узнать, обновлено ли оно с момента последней проверки (используя хэш). Проблема в том, что мне нужно ввести имя пользователя и пароль, прежде чем я смогу посетить сайт.отправить запрос на отправку python

Есть ли способ ввести имя пользователя и пароль с помощью python?

+0

Вы также можете использовать саржу. – Claris

ответ

15

Отъезд в requests библиотеки, которую можно получить с помощью pip, набрав pip install requests, либо через cmd строки или терминала, в зависимости от вашей операционной системы.

import requests 

payload = {'user' : 'username', 
      'pass' : 'PaSSwoRd'} 

r = requests.get(r'http://www.URL.com/home', data=payload) 

print r.text 

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

+0

Решение, использующее стандартную библиотеку python, является предпочтительным. – garnertb

+0

Обратите внимание, что если сервер использует базовую проверку подлинности HTTP, в этом примере вы должны использовать 'auth =' вместо 'data ='. – jrennie

+0

Извините, но я не поставил сайт в вопрос, потому что это федеральный сайт – Jah

1

Да, можно отправить ту же информацию, что и в браузере. В зависимости от того, как браузер взаимодействует с сервером, это может быть так же просто, как добавление имени пользователя и пароля в качестве параметров HTTP POST. Другие распространенные методы - это броузер для отправки хэша пароля или для входа в систему с более чем одним шагом.

1

Можно отправлять запросы POST с Python. Взгляните на httplib, это стандартная библиотека для HTTP-запросов. Существуют и другие библиотеки, которые могут помочь вам действовать скорее как браузер. Мое избранное: mechanize.

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