Я пытаюсь создать Python эквивалент
curl -u username:password <a href="http://policeapi2.rkh.co.uk/api/forces" rel="nofollow">http://policeapi2.rkh.co.uk/api/forces</a>
как указано здесь http://www.police.uk/api/docs/authentication/
Я вручную вошел в браузер и получил аутентификацию для работы
Я впервые попробовал базовую аутентификацию отсюда:
voidspace.org.uk / питон / статьи / authentication.shtml
Это не с
This page isn't protected by authentication.
But we failed for another reason.
Затем я попытался адаптировать этот stackoverflow.com/questions/1990976/convert-a-curl-post-request-to-python-only-using-standard-libary
import urllib2
def basic_authorization(user, password):
s = user + ":" + password
return "Basic " + s.encode("base64").rstrip()
req = urllib2.Request("http://policeapi2.rkh.co.uk/api/forces",
headers = {
"Authorization": basic_authorization("username", "password"),
})
f = urllib2.urlopen(req)
print f.read()
и получите:
URLError: <urlopen error [Errno 10061] No connection could be made because the target machine actively refused it>
Я читал это на stackoverflow.com/questions/2407126/python-urllib2-basic-auth-problem:
'Проблема может заключаться в том, что библиотеки Python в соответствии со стандартом HTTP сначала отправляют неаутентифицированный запрос, а затем, только если он отвечает с повтором 401, правильные отправленные учетные данные. Если серверы Foursquare не выполняют «стандартную аутентификацию», библиотеки не будут работать. '
ссылка на «Эта страница не защищена аутентификацией». ошибка с базовой аутентификацией.
Я использовал их код:
import urllib2, base64
request = urllib2.Request("http://api.foursquare.com/v1/user")
base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
result = urllib2.urlopen(request)'
но все равно выдается ошибка:
URLError: <urlopen error [Errno 10061] No connection could be made because the target machine actively refused it>
Я не уверен, что попробовать дальше. Я новичок в программировании на Python и использую Curl, и я в растерянности относительно того, правильно ли я понял основы или что-то более сложное пошло не так.
Спасибо за любую помощь.