Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PYTHON: requests and response 401

I have a little problem with authentication. I am writting a script, which is getting login and password from user(input from keyboard) and then I want to get some data from the website(http not https), but every time I run the script the response is 401.I read some similar posts from stack and I tried this solutions:

Solution 1

c = HTTPConnection("somewebsite")
userAndPass = b64encode(b"username:password").decode("ascii")
headers = { 'Authorization' : 'Basic %s' %  userAndPass }
c.request('GET', '/', headers=headers)
res = c.getresponse()
data = res.read()

Solution 2

with requests.Session() as c:
    url = 'somewebsite'
    USERNAME = 'username'
    PASSWORD = 'password'
    c.get(url)
    login_data = dict(username = USERNAME, password = PASSWORD)
    c.post(url,data = login_data)
    page = c.get('somewebsite', headers = {"Referer": "somwebsite"})
    print(page)

Solution 3

www = 'somewebsite'
value ={'filter':'somefilter'}
data = urllib.parse.urlencode(value)
data=data.encode('utf-8')
req = urllib.request.Request(www,data)
resp = urllib.request.urlopen(req)
respData = resp.read()
print(respData)
x = urllib.request.urlopen(www,"username","password")
print(x.read())'

I don't know how to solve this problem. Can somebody give me some link or tip ?

like image 682
MB_YD Avatar asked Apr 11 '26 12:04

MB_YD


2 Answers

Have you tried the Basic Authentication example from requests?

>>> from requests.auth import HTTPBasicAuth
>>> requests.get('https://api.github.com/user', auth=HTTPBasicAuth('user', 'pass'))
<Response [200]>
like image 101
Alex Taylor Avatar answered Apr 14 '26 02:04

Alex Taylor


Can I know what type of authentication on the website?

this is an official Basic Auth example (http://docs.python-requests.org/en/master/user/advanced/#http-verbs)

from requests.auth import HTTPBasicAuth
auth = HTTPBasicAuth('[email protected]', 'not_a_real_password')

r = requests.post(url=url, data=body, auth=auth)
print(r.status_code)
like image 39
EunChong Lee Avatar answered Apr 14 '26 01:04

EunChong Lee



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!