Python urllib2 request Gitlab API
API访问Gitlab与Github请求的header是不一样的 Gitlab的header需写作: GIT_TOKEN_HEADER = { 'PRIVATE-TOKEN' : GIT_PRIVATE_TOKEN} # GITLAB header format 另外Gitlab返回的结果是分页的,所以需在请求中指定分页的页数,与每页的结果条数。其中后者的最大值为100,设多了无效: GIT_OPENAPI_POSTFIX = 'repository/tree?ref=master&per_page=100' 请求: # unified the usage of request url def common_req (req_url_param , req_data_param , req_header): req_url = urllib2.Request(req_url_param , req_data_param , req_header) return req_url 例子: git_openapi_req = common_req(git_openapi_api_url , data_param , GIT_TOKEN_HEADER) try : rsp = urllib2.urlopen(git_openapi_req) rsp_o = json.load(rsp) logging.debug(rsp_o) except urllib2.HTTPError as rsp_err: logging.warn(rsp_err)