Python 2.7 HTTP Basi c Аутентификация - PullRequest
0 голосов
/ 09 июля 2020

может кто мне с этим поможет. Я пытаюсь получить данные с веб-сайта, используя Python 2.7, используя HTTP Basi c Authentication. Единственные инструкции, которые предоставляет веб-сайт, следующие:

Чтобы ваш клиент веб-службы мог пройти аутентификацию с использованием базовой аутентификации, первый запрос HTTPS должен включать заголовок «Авторизация», в котором указываются учетные данные для аутентификации. Заголовок для такого запроса будет выглядеть так:

  GET /polcs/trade.xml HTTP/1.0
  Host: secure.pol.com
  Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Я пробовал несколько вещей, но ни один из них не работает, например:

import urllib2
import base64

b = base64.encodestring('USERNAME:PASSWORD').replace('\n', '')
conf = {'headers': {'GET': '/polcs/trade.xml HTTP/1.0', 'Authorization': 'Basic ' + b},
    'url': 'secure.pol.com'}
datas = None
request = urllib2.Request(conf['url'], datas, conf['headers'])
result = urllib2.urlopen(request)

Это дает мне Ошибка HTTP 403:

url = 'https://secure.pol.com/polcs/data.xml'
request = urllib2.Request(url)
b = base64.encodestring('USERNAME:PASSWORD').replace('\n', '')
request.add_header("Authorization", "Basic " + b)
result = urllib2.urlopen(request)

Кто-нибудь, пожалуйста, скажите мне, где я могу сделать ошибку, пытаясь получить эти данные? Спасибо!

...