Getting a 401 from requests.get, but not when logging in via the browser.
dcwhatthe at gmail.com
dcwhatthe at gmail.com
Mon Apr 20 15:56:27 EDT 2020
On Monday, April 20, 2020 at 3:18:59 PM UTC-4, Eli the Bearded wrote:
> In comp.lang.python, dc wrote:
> > However, one of them immediately returns a 401. I'm using the exact
> > same credentials to check this site, as when loggin in.
> >
> > Also, interestingly, it returns the 401 right away. I tried setting the
> > timeout value for a ridiculously long time, but it passes the 401 return
> > immediately.
>
> The timeout presumably is how long to wait for a reply. When the
> site replies 401 immediately, it's never even bumping up to the
> timeout.
>
> > Am I misunderstanding the meaning of the timeout parameter?
>
> What do you think it is doing?
>
> > The line in question is
> > request = requests.get(ip_s,timeout=5000, verify = False, auth
> > =HTTPBasicAuth( user_id_s, pw_s))
>
> Are you sure the site is using HTTPBasicAuth()? Because if it's not,
> that would explain how the same credentials can fail. (It could also
> be something else, like a site returning "401 Unauthorized" because
> it doesn't like your User-Agent.)
>
> I use "AuthType Digest" on some of my websites. It's not great, but
> it's TONS better than basic auth, which sends passwords basically
> in the clear.
>
> https://en.wikipedia.org/wiki/Digest_access_authentication
>
> In my browser, Digest authentication looks the same GUI-wise as Basic
> authentication. The differences are all under the hood.
>
> Elijah
> ------
> digest auth is not as well supported by clients or servers
"What do you think it is doing?"
I thought the timeout was waiting for a successful connection.
"Are you sure the site is using HTTPBasicAuth()? Because if it's not,
that would explain how the same credentials can fail. (It could also
be something else, like a site returning "401 Unauthorized" because
it doesn't like your User-Agent.)"
Yes, that's what I'm getting.
No, I don't know if it's using Basic Authentication. If I log in through the browser, then it pops up for an id and password.
How do I find out what type of Authentication is applicable?
I'll go ahead and try the AuthType that you recommended, for now.
Thanks and regards,
More information about the Python-list
mailing list