1.github api

github api是http形式的api,功能还是比较丰富的,博主因为项目的原因主要用到的是提取project信息这项功能,返回的数据是JSON格式。
api页:https://developer.github.com/v3/
Options: (H) means HTTP/HTTPS only, (F) means FTP only--anyauth       Pick "any" authentication method (H)-a, --append        Append to target file when uploading (F/SFTP)--basic         Use HTTP Basic Authentication (H)--cacert FILE   CA certificate to verify peer against (SSL)--capath DIR    CA directory to verify peer against (SSL)-E, --cert CERT[:PASSWD] Client certificate file and password (SSL)--cert-type TYPE Certificate file type (DER/PEM/ENG) (SSL)--ciphers LIST  SSL ciphers to use (SSL)--compressed    Request compressed response (using deflate or gzip)-K, --config FILE   Specify which config file to read--connect-timeout SECONDS  Maximum time allowed for connection-C, --continue-at OFFSET  Resumed transfer offset-b, --cookie STRING/FILE  String or file to read cookies from (H)-c, --cookie-jar FILE  Write cookies to this file after operation (H)--create-dirs   Create necessary local directory hierarchy--crlf          Convert LF to CRLF in upload--crlfile FILE  Get a CRL list in PEM format from the given file-d, --data DATA     HTTP POST data (H)--data-ascii DATA  HTTP POST ASCII data (H)--data-binary DATA  HTTP POST binary data (H)--data-urlencode DATA  HTTP POST data url encoded (H)--delegation STRING GSS-API delegation permission--digest        Use HTTP Digest Authentication (H)--disable-eprt  Inhibit using EPRT or LPRT (F)--disable-epsv  Inhibit using EPSV (F)-D, --dump-header FILE  Write the headers to this file--egd-file FILE  EGD socket path for random data (SSL)--engine ENGINGE  Crypto engine (SSL). "--engine list" for list-f, --fail          Fail silently (no output at all) on HTTP errors (H)-F, --form CONTENT  Specify HTTP multipart POST data (H)--form-string STRING  Specify HTTP multipart POST data (H)--ftp-account DATA  Account data string (F)--ftp-alternative-to-user COMMAND  String to replace "USER [name]" (F)--ftp-create-dirs  Create the remote dirs if not present (F)--ftp-method [MULTICWD/NOCWD/SINGLECWD] Control CWD usage (F)--ftp-pasv      Use PASV/EPSV instead of PORT (F)-P, --ftp-port ADR  Use PORT with given address instead of PASV (F)--ftp-skip-pasv-ip Skip the IP address for PASV (F)--ftp-pret      Send PRET before PASV (for drftpd) (F)--ftp-ssl-ccc   Send CCC after authenticating (F)--ftp-ssl-ccc-mode ACTIVE/PASSIVE  Set CCC mode (F)--ftp-ssl-control Require SSL/TLS for ftp login, clear for transfer (F)-G, --get           Send the -d data with a HTTP GET (H)-g, --globoff       Disable URL sequences and ranges using {} and []-H, --header LINE   Custom header to pass to server (H)-I, --head          Show document info only-h, --help          This help text--hostpubmd5 MD5  Hex encoded MD5 string of the host public key. (SSH)-0, --http1.0       Use HTTP 1.0 (H)--ignore-content-length  Ignore the HTTP Content-Length header-i, --include       Include protocol headers in the output (H/F)-k, --insecure      Allow connections to SSL sites without certs (H)--interface INTERFACE  Specify network interface/address to use-4, --ipv4          Resolve name to IPv4 address-6, --ipv6          Resolve name to IPv6 address-j, --junk-session-cookies Ignore session cookies read from file (H)--keepalive-time SECONDS  Interval between keepalive probes--key KEY       Private key file name (SSL/SSH)--key-type TYPE Private key file type (DER/PEM/ENG) (SSL)--krb LEVEL     Enable Kerberos with specified security level (F)--libcurl FILE  Dump libcurl equivalent code of this command line--limit-rate RATE  Limit transfer speed to this rate-l, --list-only     List only names of an FTP directory (F)--local-port RANGE  Force use of these local port numbers-L, --location      Follow redirects (H)--location-trusted like --location and send auth to other hosts (H)-M, --manual        Display the full manual--mail-from FROM  Mail from this address--mail-rcpt TO  Mail to this receiver(s)--max-filesize BYTES  Maximum file size to download (H/F)--max-redirs NUM  Maximum number of redirects allowed (H)-m, --max-time SECONDS  Maximum time allowed for the transfer--negotiate     Use HTTP Negotiate Authentication (H)-n, --netrc         Must read .netrc for user name and password--netrc-optional Use either .netrc or URL; overrides -n--netrc-file FILE  Set up the netrc filename to use-N, --no-buffer     Disable buffering of the output stream--no-keepalive  Disable keepalive use on the connection--no-sessionid  Disable SSL session-ID reusing (SSL)--noproxy       List of hosts which do not use proxy--ntlm          Use HTTP NTLM authentication (H)-o, --output FILE   Write output to <file> instead of stdout--pass PASS     Pass phrase for the private key (SSL/SSH)--post301       Do not switch to GET after following a 301 redirect (H)--post302       Do not switch to GET after following a 302 redirect (H)-#, --progress-bar  Display transfer progress as a progress bar--proto PROTOCOLS  Enable/disable specified protocols--proto-redir PROTOCOLS  Enable/disable specified protocols on redirect-x, --proxy [PROTOCOL://]HOST[:PORT] Use proxy on given port--proxy-anyauth Pick "any" proxy authentication method (H)--proxy-basic   Use Basic authentication on the proxy (H)--proxy-digest  Use Digest authentication on the proxy (H)--proxy-negotiate Use Negotiate authentication on the proxy (H)--proxy-ntlm    Use NTLM authentication on the proxy (H)-U, --proxy-user USER[:PASSWORD]  Proxy user and password--proxy1.0 HOST[:PORT]  Use HTTP/1.0 proxy on given port-p, --proxytunnel   Operate through a HTTP proxy tunnel (using CONNECT)--pubkey KEY    Public key file name (SSH)-Q, --quote CMD     Send command(s) to server before transfer (F/SFTP)--random-file FILE  File for reading random data from (SSL)-r, --range RANGE   Retrieve only the bytes within a range--raw           Do HTTP "raw", without any transfer decoding (H)-e, --referer       Referer URL (H)-J, --remote-header-name Use the header-provided filename (H)-O, --remote-name   Write output to a file named as the remote file--remote-name-all Use the remote file name for all URLs-R, --remote-time   Set the remote file's time on the local output-X, --request COMMAND  Specify request command to use--resolve HOST:PORT:ADDRESS  Force resolve of HOST:PORT to ADDRESS--retry NUM   Retry request NUM times if transient problems occur--retry-delay SECONDS When retrying, wait this many seconds between each--retry-max-time SECONDS  Retry only within this period-S, --show-error    Show error. With -s, make curl show errors when they occur-s, --silent        Silent mode. Don't output anything--socks4 HOST[:PORT]  SOCKS4 proxy on given host + port--socks4a HOST[:PORT]  SOCKS4a proxy on given host + port--socks5 HOST[:PORT]  SOCKS5 proxy on given host + port--socks5-hostname HOST[:PORT] SOCKS5 proxy, pass host name to proxy--socks5-gssapi-service NAME  SOCKS5 proxy service name for gssapi--socks5-gssapi-nec  Compatibility with NEC SOCKS5 server-Y, --speed-limit RATE  Stop transfers below speed-limit for 'speed-time' secs-y, --speed-time SECONDS  Time for trig speed-limit abort. Defaults to 30--ssl           Try SSL/TLS (FTP, IMAP, POP3, SMTP)--ssl-reqd      Require SSL/TLS (FTP, IMAP, POP3, SMTP)-2, --sslv2         Use SSLv2 (SSL)-3, --sslv3         Use SSLv3 (SSL)--stderr FILE   Where to redirect stderr. - means stdout--tcp-nodelay   Use the TCP_NODELAY option-t, --telnet-option OPT=VAL  Set telnet option--tftp-blksize VALUE  Set TFTP BLKSIZE option (must be >512)-z, --time-cond TIME  Transfer based on a time condition-1, --tlsv1         Use TLSv1 (SSL)--trace FILE    Write a debug trace to the given file--trace-ascii FILE  Like --trace but without the hex output--trace-time    Add time stamps to trace/verbose output--tr-encoding   Request compressed transfer encoding (H)-T, --upload-file FILE  Transfer FILE to destination--url URL       URL to work with-B, --use-ascii     Use ASCII/text transfer-u, --user USER[:PASSWORD]  Server user and password--tlsuser USER  TLS username--tlspassword STRING TLS password--tlsauthtype STRING  TLS authentication type (default SRP)-A, --user-agent STRING  User-Agent to send to server (H)-v, --verbose       Make the operation more talkative-V, --version       Show version number and quit-w, --write-out FORMAT  What to output after completion--xattr        Store metadata in extended file attributes-q                 If used as the first parameter disables .curlrc

2.GET功能

    我们今天获取octokit这个项目的代码库的信息。打开这个项目,如图所示有四个repo
 
   
    打开终端输入以下命令
curl -G https://api.github.com/orgs/octokit/repos
    这个项目的repo信息就显示了出来(只截取了一部分)。
  {"id": 10575811,"name": "go-octokit","full_name": "octokit/go-octokit","owner": {"login": "octokit","id": 3430433,"avatar_url": "https://avatars.githubusercontent.com/u/3430433?","gravatar_id": "43f38795089d56a2a7092b7d0c71fa76","url": "https://api.github.com/users/octokit","html_url": "https://github.com/octokit","followers_url": "https://api.github.com/users/octokit/followers","following_url": "https://api.github.com/users/octokit/following{/other_user}","gists_url": "https://api.github.com/users/octokit/gists{/gist_id}","starred_url": "https://api.github.com/users/octokit/starred{/owner}{/repo}","subscriptions_url": "https://api.github.com/users/octokit/subscriptions","organizations_url": "https://api.github.com/users/octokit/orgs","repos_url": "https://api.github.com/users/octokit/repos","events_url": "https://api.github.com/users/octokit/events{/privacy}","received_events_url": "https://api.github.com/users/octokit/received_events","type": "Organization","site_admin": false},"private": false,"html_url": "https://github.com/octokit/go-octokit","description": "Simple Go wrapper for the GitHub API","fork": false,"url": "https://api.github.com/repos/octokit/go-octokit","forks_url": "https://api.github.com/repos/octokit/go-octokit/forks","keys_url": "https://api.github.com/repos/octokit/go-octokit/keys{/key_id}","collaborators_url": "https://api.github.com/repos/octokit/go-octokit/collaborators{/collaborator}","teams_url": "https://api.github.com/repos/octokit/go-octokit/teams","hooks_url": "https://api.github.com/repos/octokit/go-octokit/hooks","issue_events_url": "https://api.github.com/repos/octokit/go-octokit/issues/events{/number}","events_url": "https://api.github.com/repos/octokit/go-octokit/events","assignees_url": "https://api.github.com/repos/octokit/go-octokit/assignees{/user}","branches_url": "https://api.github.com/repos/octokit/go-octokit/branches{/branch}","tags_url": "https://api.github.com/repos/octokit/go-octokit/tags","blobs_url": "https://api.github.com/repos/octokit/go-octokit/git/blobs{/sha}","git_tags_url": "https://api.github.com/repos/octokit/go-octokit/git/tags{/sha}","git_refs_url": "https://api.github.com/repos/octokit/go-octokit/git/refs{/sha}","trees_url": "https://api.github.com/repos/octokit/go-octokit/git/trees{/sha}","statuses_url": "https://api.github.com/repos/octokit/go-octokit/statuses/{sha}","languages_url": "https://api.github.com/repos/octokit/go-octokit/languages","stargazers_url": "https://api.github.com/repos/octokit/go-octokit/stargazers","contributors_url": "https://api.github.com/repos/octokit/go-octokit/contributors","subscribers_url": "https://api.github.com/repos/octokit/go-octokit/subscribers","subscription_url": "https://api.github.com/repos/octokit/go-octokit/subscription","commits_url": "https://api.github.com/repos/octokit/go-octokit/commits{/sha}","git_commits_url": "https://api.github.com/repos/octokit/go-octokit/git/commits{/sha}","comments_url": "https://api.github.com/repos/octokit/go-octokit/comments{/number}","issue_comment_url": "https://api.github.com/repos/octokit/go-octokit/issues/comments/{number}","contents_url": "https://api.github.com/repos/octokit/go-octokit/contents/{+path}","compare_url": "https://api.github.com/repos/octokit/go-octokit/compare/{base}...{head}","merges_url": "https://api.github.com/repos/octokit/go-octokit/merges","archive_url": "https://api.github.com/repos/octokit/go-octokit/{archive_format}{/ref}","downloads_url": "https://api.github.com/repos/octokit/go-octokit/downloads","issues_url": "https://api.github.com/repos/octokit/go-octokit/issues{/number}","pulls_url": "https://api.github.com/repos/octokit/go-octokit/pulls{/number}","milestones_url": "https://api.github.com/repos/octokit/go-octokit/milestones{/number}","notifications_url": "https://api.github.com/repos/octokit/go-octokit/notifications{?since,all,participating}","labels_url": "https://api.github.com/repos/octokit/go-octokit/labels{/name}","releases_url": "https://api.github.com/repos/octokit/go-octokit/releases{/id}","created_at": "2013-06-08T23:50:29Z","updated_at": "2014-06-12T08:34:46Z","pushed_at": "2014-04-08T06:21:29Z","git_url": "git://github.com/octokit/go-octokit.git","ssh_url": "git@github.com:octokit/go-octokit.git","clone_url": "https://github.com/octokit/go-octokit.git","svn_url": "https://github.com/octokit/go-octokit","homepage": "https://github.com/octokit/go-octokit","size": 2900,"stargazers_count": 48,"watchers_count": 48,"language": "Go","has_issues": true,"has_downloads": true,"has_wiki": false,"forks_count": 13,"mirror_url": null,"open_issues_count": 6,"forks": 13,"open_issues": 6,"watchers": 48,"default_branch": "master","permissions": {"admin": false,"push": false,"pull": true}}
]

/********************************

* 本文来自博客  “李博Garvin“

* 转载请标明出处:http://blog.csdn.net/buptgshengod

******************************************/

开源项目成熟度分析工具-利用github api获取代码库的信息相关推荐

  1. ospaf-开源项目成熟度分析工具

    1.概述 软件成熟度评估的最终目标是帮助软件的可持续发展,并为用户应用提供必要的技术参考.开放源代码软件成熟度评估也不例外.我们通过软件的成熟度评估,形成全面的涉及技术.应用.法律等层面的评价报告,帮 ...

  2. Android开源项目第二篇——工具库篇

    本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍经常使用的开发库,包含依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本号向低版本号 ...

  3. 开源java性能分析工具_Java性能监控:您应该知道的5个开源工具

    开源java性能分析工具 鲜为人知但有用:开源应用程序性能监视的状态 对于任何应用程序来说,最重要的事情之一就是性能. 我们要确保用户获得他们能获得的最佳体验,并想知道我们的应用已启动并正在运行. 这 ...

  4. 强大的django-debug-toolbar,django项目性能分析工具

    强大的django-debug-toolbar,django项目性能分析工具 给大家介绍一个用于django中debug模式下查看网站性能等其他信息的插件django-debug-toolbar 首先 ...

  5. Python3 利用Virustotal API 获取json格式的分析报告

    Python3 利用Virustotal API 获取json格式的分析报告 import requests import json import osAPI="" // your ...

  6. Jenkins+GitLab API进行代码库项目统计分析自助工具建设

    一.底层统计分析脚本(GitLabAPI.sh) #!/bin/bash # 必须优先在脚本运行服务器安装json格式化工具jq: yum install jq echo "get cuur ...

  7. Node.js 单元测试:我要写测试 - Mocha - Nodejs开源项目里怎么样写测试、CI和代码测试覆盖率

    -------------------------------------- 单元测试Express/NodeJs 个人理解, 1,如果不是测试http请求的单元测试,用Mocha, Chai等基本够 ...

  8. html调用腾讯地图定位当前位置,vue web项目中调用腾讯地图API获取当前位置的经纬度...

    vue web项目中调用腾讯地图API获取当前位置的经纬度 vue web项目中调用腾讯地图API获取当前位置的经纬度 在main.js 中添加一下代码 import axios from 'axio ...

  9. python从高德api获取公交线路规划信息

    从高德api获取公交线路规划信息类似于爬虫,由于本人不会爬虫,因此简单说说如何实现 直接上代码 import os import requests import math import json im ...

最新文章

  1. 建立行政效果公布体制
  2. 强化学习(五)用时序差分法(TD)求解
  3. CentOS 命令大全 (转)
  4. leetcode1314. 矩阵区域和(动态规划)
  5. C++的流输入和输出操作
  6. 三维重建中旋转矩阵与平移矩阵思想误区(转载)
  7. 企业架构研究总结(24)——TOGAF架构开发方法(ADM)之机会及解决方案阶段
  8. U-Boot>WebHome翻译
  9. 数千万智能手机集体脱机?罪魁祸首是……
  10. ISCSI LINUX(RHEL)的搭建与配置
  11. 对口升学计算机网络网络试题及答案,2011-2015计算机对口升学网络试题汇总
  12. JDK 8 最后一个免费版本 下载
  13. 基于LMI的线性系统滑模鲁棒控制
  14. linux--磁盘配额
  15. unity旗帜飘动shader
  16. Dynamic programming 1
  17. 0x0000007b电脑蓝屏的解决方法
  18. golang profiling
  19. debug基本命令及全称
  20. 赏金猎人系列-如何测试sso相关的漏洞

热门文章

  1. PAT甲级1032 Sharing :[C++题解]链表
  2. 通信网络基础期末复习-第四章-多址接入协议
  3. IDEA中报错spring-boot-maven-plugin:not found
  4. Linux进程间通信五 Posix 信号量简介与示例
  5. 关键词提取_NLP 关键词 提取 实战 案例
  6. Android实训日志:基于外部存储的音乐播放器V05
  7. java 隐藏标题栏_两种方法一句代码隐藏Activity的标题栏
  8. python panda读取csv_python pandas 中文件的读写——read_csv()读取文件
  9. 爬虫 python 爬取php的网页,带有post参数的网页如何爬取
  10. wp转shp_【收藏】空间数据格式转换方法