检查 GitHub 凭据有效性

Check GitHub credentials validity

我正在尝试使用 Python 验证 GitHub 凭据。

我试过这个:

import urllib2, base64

username = "test@example.com"
password = "password"

request = urllib2.Request("https://github.com/")
base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)   
result = urllib2.urlopen(request)

if result.code == 200:
    print "Success"
else:
    print "Error"

但它总是 returns Success,即使密码错误。我做错了什么?

我应该使用 https://api.github.com/user 而不是 https://github.com/

尽管如此,我还是会使用requests 3rd 方库,这使得代码简洁:

import requests
print requests.get(
    'https://api.github.com/user',
    auth=('username', 'password')
)

换行

request = urllib2.Request("https://github.com/")

request = urllib2.Request("https://api.github.com/")

尝试更改您的凭据。它对我有用。

测试于

~/ $ python2 --version
Python 2.7.6
~/ $ uname -a
Linux wlysenko-Aspire 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux