我正在尝试从python发出bitbucket请求以返回我的回购列表。它响应,但格式化包括“\ n”字符,我认为我的编码是错误的,但不知道如何解决它。
如何将我的响应编码为格式化JSON。
theurl = 'https://api.bitbucket.org/1.0/user/repositories/';
username = 'xxxxx';
password = 'xxxxx';
passman = urllib2.HTTPPasswordMgrWithDefaultRealm();
passman.add_password(None, theurl, username, password);
authhandler = urllib2.HTTPBasicAuthHandler(passman);
opener = urllib2.build_opener(authhandler);
urllib2.install_opener(opener);
pagehandle = urllib2.urlopen(theurl);
output = pagehandle.decode('utf-8');
responseH = output.read();
答案 0 :(得分:2)
为什么不尝试使用python-bitbucket
? Example below
from api import API
import datetime
api = API("username", "**password**")
repos = api.get_repositories()
for repo in repos:
print "Name: %s" % repo.name
print "Owner: %s" % repo.owner
print "Website: %s" % repo.website
print "Description: %s" % repo.description
print "Created on: %s" % datetime.datetime.strftime(repo.created_on, "%c")
print "Language: %s" % repo.language
print "SCM: %s" % repo.scm
for issue in repo.get_issues():
# Yes, this works too!
print "Issue title: %s" % issue.title
print "Issue priority: %s" % issue.priority
print "Issue content:\n%s\n\n" % issue.content
for change in repo.get_changesets(limit=5):
print "Revision/Node: %d:%s" % (change.revision, change.node)
# Since change.timestamp is a datetime object, we can use formatting on it.
print "Timestamp: %s" % datetime.datetime.strftime(change.timestamp, "%c")
print "Commit message:\n%s" % change.message
print "Affected files: %s" % len(change.files)
for f in change.files:
print f.filename
print "\n"