Как установить имя пользователя и пароль в HTTP-запросе на получение?

Я использую библиотеку requests из Python для отправки запроса на получение:

response = requests.get(url, verify, auth, params, headers)

Мое предположение заключалось в том, что любой get-запрос можно отправить прямо из браузера. Например, в адресной строке браузера мне нужно поставить что-то вроде этого:

http://my_url.net?param1=12&param2=777

Вышеупомянутым способом я могу установить url и params, которые я использую в своей функции Python. Но как я могу установить auth (имя пользователя и пароль) в запросе на получение, если я использую браузер для отправки запроса. Тот же вопрос применим к оставшимся двум аргументам: verify и headers.


person Roman    schedule 17.12.2014    source источник
comment
Вы можете попробовать формат http://{username}:{password}@my_url.net?param1=12&param2=777, однако вы не можете просто добавлять заголовки с помощью адресной строки браузера.   -  person PeeHaa    schedule 17.12.2014


Ответы (2)


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

Если вы используете cUrl, вы можете сделать что-то вроде:

curl http://my_url.net?param1=12&param2=777 --header "Authorization: Basic XXX"

где «xxx» — это кодировка Base64 строки «имя пользователя: пароль».

person Martin Latrille    schedule 17.12.2014
comment
*/5 * * * * /usr/bin/wget -qO- my_url.net?param1=12¶m2= 777 --header Авторизация: Basic XXX ›› /home/boo/logs/cron.log - person Sadee; 08.10.2018

Или попробуйте это, используя менеджер паролей с областью по умолчанию:

url = "http://my_url.net?param1=12&param2=777"

pw_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
pw_mgr.add_password(None, url, username, password)

urllib2.install_opener(
    urllib2.build_opener(urllib2.HTTPBasicAuthHandler(pw_mgr)))

request = urllib2.Request(url)
response = urllib2.urlopen(request)
person André Laszlo    schedule 17.12.2014
comment
Я хотел бы предоставить ссылку, которую пользователь может использовать в браузере. - person Roman; 17.12.2014
comment
Ага, извините, тогда я неправильно понял ваш вопрос. Комментарий @PeeHaa - единственный известный мне способ. - person André Laszlo; 17.12.2014