2016-02-05 32 views
1

我使用沒有基本身份驗證:Github的API速率限制甚至在60基本驗證

curl -u "username:password" https://api.github.com 

我得到的輸出:

{ 
    "current_user_url": "https://api.github.com/user", 
    "current_user_authorizations_html_url": "https://github.com/settings/connections/applications{/client_id}", 
    "authorizations_url": "https://api.github.com/authorizations", 
    "code_search_url": "https://api.github.com/search/code?q={query}{&page,per_page,sort,order}", 
    "emails_url": "https://api.github.com/user/emails", 
    "emojis_url": "https://api.github.com/emojis", 
    "events_url": "https://api.github.com/events", 
    "feeds_url": "https://api.github.com/feeds", 
    "followers_url": "https://api.github.com/user/followers", 
    "following_url": "https://api.github.com/user/following{/target}", 
    "gists_url": "https://api.github.com/gists{/gist_id}", 
    "hub_url": "https://api.github.com/hub", 
    "issue_search_url": "https://api.github.com/search/issues?q={query}{&page,per_page,sort,order}", 
    "issues_url": "https://api.github.com/issues", 
    "keys_url": "https://api.github.com/user/keys", 
    "notifications_url": "https://api.github.com/notifications", 
    "organization_repositories_url": "https://api.github.com/orgs/{org}/repos{?type,page,per_page,sort}", 
    "organization_url": "https://api.github.com/orgs/{org}", 
    "public_gists_url": "https://api.github.com/gists/public", 
    "rate_limit_url": "https://api.github.com/rate_limit", 
    "repository_url": "https://api.github.com/repos/{owner}/{repo}", 
    "repository_search_url": "https://api.github.com/search/repositories?q={query}{&page,per_page,sort,order}", 
    "current_user_repositories_url": "https://api.github.com/user/repos{?type,page,per_page,sort}", 
    "starred_url": "https://api.github.com/user/starred{/owner}{/repo}", 
    "starred_gists_url": "https://api.github.com/gists/starred", 
    "team_url": "https://api.github.com/teams", 
    "user_url": "https://api.github.com/users/{user}", 
    "user_organizations_url": "https://api.github.com/user/orgs", 
    "user_repositories_url": "https://api.github.com/users/{user}/repos{?type,page,per_page,sort}", 
    "user_search_url": "https://api.github.com/search/users?q={query}{&page,per_page,sort,order}" 
} 

之後,我用檢查限制:

curl https://api.github.com/rate_limit 

輸出:

{ 
    "resources": { 
    "core": { 
     "limit": 60, 
     "remaining": 0, 
     "reset": 1454651040 
    }, 
    "search": { 
     "limit": 10, 
     "remaining": 10, 
     "reset": 1454648425 
    } 
    }, 
    "rate": { 
    "limit": 60, 
    "remaining": 0, 
    "reset": 1454651040 
    } 
} 

限制仍然是60.缺少什麼?

回答

2

隨着basic authentication,你需要傳遞用戶名/密碼與每個電話。換句話說,要獲得已驗證用戶的速率限制,請使用;

> curl -u "username:password" https://api.github.com/rate_limit 

{ 
    "resources": { 
    "core": { 
     "limit": 5000, 
     "remaining": 4997, 
     "reset": 1454652855 
    }, 
    "search": { 
     "limit": 30, 
     "remaining": 30, 
     "reset": 1454649452 
    } 
    }, 
    "rate": { 
    "limit": 5000, 
    "remaining": 4997, 
    "reset": 1454652855 
    } 
} 
+0

還有其他更好的方法嗎? –

+1

@devツ你也可以(也可能應該)使用'-u「username:token」來設置生成的個人令牌,因爲令牌可以被撤銷,並且只允許訪問github API的特定部分,再次感興趣。另一種選擇是[OAuth](https://developer.github.com/v3/oauth/),它可能是最好的,但實施起來也有點複雜。 –