• RandomUser 网站介绍


    RandomUser 网站介绍

    介绍


    20138 月,该项目开始启动。项目的目的是:创建一个免费的、易于使用的服务,用于为应用的测试生成随机的用户数据。

    使用


    可以使用 AJAX 来调用随机用户生成器的 API,返回的结果中将包含一个随机生成用户。如果使用了 jQuery,可以调用 $.ajax() 方法:

    $.ajax({
      url: 'https://randomuser.me/api/',
      dataType: 'json',
      success: function(data) {
        console.log(data);
      }
    });
    

    结果


    根据你的选择,API 会给你返回一个格式化的对象。你可以对它进行解析,并在应用中使用它们。

    默认的格式是 JSON。通过使用不同的格式化参数,可以获取不同格式的数据。

    {
      "results": [
        {
          "gender": "male",
          "name": {
            "title": "mr",
            "first": "romain",
            "last": "hoogmoed"
          },
          "location": {
            "street": "1861 jan pieterszoon coenstraat",
            "city": "maasdriel",
            "state": "zeeland",
            "postcode": 69217
          },
          "email": "romain.hoogmoed@example.com",
          "login": {
            "username": "lazyduck408",
            "password": "jokers",
            "salt": "UGtRFz4N",
            "md5": "6d83a8c084731ee73eb5f9398b923183",
            "sha1": "cb21097d8c430f2716538e365447910d90476f6e",
            "sha256": "5a9b09c86195b8d8b01ee219d7d9794e2abb6641a2351850c49c309f1fc204a0"
          },
          "dob": "1983-07-14 07:29:45",
          "registered": "2010-09-24 02:10:42",
          "phone": "(656)-976-4980",
          "cell": "(065)-247-9303",
          "id": {
            "name": "BSN",
            "value": "04242023"
          },
          "picture": {
            "large": "https://randomuser.me/api/portraits/men/83.jpg",
            "medium": "https://randomuser.me/api/portraits/med/men/83.jpg",
            "thumbnail": "https://randomuser.me/api/portraits/thumb/men/83.jpg"
          },
          "nat": "NL"
        }
      ],
      "info": {
        "seed": "2da87e9305069f1d",
        "results": 1,
        "page": 1,
        "version": "1.1"
      }
    }
    

    API 错误


    如果服务挂了,或者服务出问题了,将会返回一个keyerrorjson 格式的信息:

    {
      error: "Uh oh, something has gone wrong. Please tweet us @randomapi about the issue. Thank you."
    }
    

    请求多个用户


    随机用户生成器允许的单次最大请求用户数是:5000,请求人数的指定需要使用 results 参数:

    https://randomuser.me/api/?results=5000
    

    指定性别


    通过在请求上添加 gender 参数,你可以指定随机生成的用户是否全都是男性、全都是女性、或者两者都有。gender 的有效值为:malefemale,或者为空。如果传递其它的值,服务返回的用户既包含男性,也包含女性 :

    https://randomuser.me/api/?gender=female
    

    密码


    默认地,密码是从 10000 个最常用的密码中随机选择的。从版本 1.1 开始,对于密码的生成规则,可以使用 password 选项,对密码的生成进行更多的控制。

    https://randomuser.me/api/?gender=female
    

    调用上面的 API 可以生成:由大、小写字母组成的、长度在 1 ~ 16 的密码。

    使用下面的格式来指定密码的选项:

    https://randomuser.me/api/?password=CHARSETS,MIN_LENGTH-MAX_LENGTH
    OR
    https://randomuser.me/api/?password=CHARSETS,MAX_LENGTH
    

    上面格式中的 CHARSETS 可以使用下面的混合模式:

    special    !"#$%&'()*+,- ./:;<=>?@[]^_`{|}~
    upper      ABCDEFGHIJKLMNOPQRSTUVWXYZ
    lower      abcdefghijklmnopqrstuvwxyz
    number     0123456789
    

    MIN_LENGTHMAX_LENGTH 是生成密码的最小长度和最大长度。默认的范围是:864

    下面是密码选项组合的示例:

    // 32位长度的特殊字符 
    https://randomuser.me/api/?password=special,32
    
    // 1~8位长度的大写字符
    https://randomuser.me/api/?password=upper,1-8
    
    // 8~64位长度的特殊字符、大写、小写、数字的组合
    https://randomuser.me/api/?password=special,upper,lower,number
    

    种子


    种子(seed)可以生成同样的用户集合。例如,名为 foobar 的种子将总是返回 Becky Sims1.0 版本)结果。种子可以是任意的字符串或字符的序列。

    https://randomuser.me/api/?seed=foobar
    

    格式


    当前支持以下格式的数据:

    • JSON(默认)

    • PrettyJSONpretty

    • CSV

    • YAML

    • XML

    使用 format 参数指定返回数据的格式:

    https://randomuser.me/api/?format=csv
    

    使用早期版本


    如果有新的 API 版本发布,它可能会搞坏你的应用。通过下面的代码获取 API

    https://randomuser.me/api/
    

    上面的 API 将自动使用最新的 API 获取数据。

    如果你不想应用受到新版 API 的影响,并想指定 API 版本,那应该使用下面的调用:

    https://randomuser.me/api/1.1/
    

    国家


    你可以请求不同国家的随机用户。

    图片将不会受到国家的影响,但是如果指定了国家,生成的用户数据,例如位置、电话、ID等,会变得更为合理一些。

    当前的随机用户支持下列国家:

    • v1.0: AU, BR, CA, CH, DE, DK, ES, FI, FR, GB, IE, IR, NL, NZ, TR, US

    • v1.1: AU, BR, CA, CH, DE, DK, ES, FI, FR, GB, IE, IR, NL, NZ, TR, US

    这样来指定国家:

    https://randomuser.me/api/?nat=gb
    

    不指定该参数,默认将返回随机的国家。对于国家,可以有一些简单的控制,可以使用一个用逗号分割的列表:

    https://randomuser.me/api/?nat=us,dk,fr,gb
    

    页码


    使用 page 参数,可以请求某个种子下的多个页码。

    为了返回同样的数据,请确保使用同样的种子和同样的页码:

    https://randomuser.me/api/?page=3&results=10&seed=abc
    

    包含/不包含字段


    有时候,你或许只想要一些随机的名称,而不需要一些不相关的数据(例如:位置,电话等)。这时,就需要使用 incexc 参数。这两个参数分别用来指定结果中包含和不包含的字段。

    通过指定返回的字段,生成器可以通过跳过 CPU 密集型的字段(例如:login)来节约时间。

    包含与不包含的字段接收以逗号分隔的下列字段的集合:

    • gender

    • name

    • location

    • email

    • login

    • regstered

    • dob

    • phone

    • cell

    • id

    • picture

    • nat

    如果你只想使用用户的 namegendernat 字段,那应该这样写:

    https://randomuser.me/api/?inc=gender,name,nat
    

    如果除了 login 数据,其它的用户信息都想要,那应该这样写:

    https://randomuser.me/api/?exc=login
    

    杂项


    还可以给请求上添加一些其它的参数:

    • dl -- 下载相应格式的结果:https://randomuser.me/api/?results=25&nat=gb,us,es&fmt=csv&dl

    • noinfo -- 如果只想要数据,而不关心种子,数量,页码和版本:https://randomuser.me/api/?results=5&inc=name,gender,nat&noinfo

    • callback -- 如果在 JSONP 中想要有效载荷,使用 callback 参数提供一个回调。该参数只在 JSON 格式下有效:https://randomuser.me/api/?results=5&callback=randomuserdata

    结束语


    如果你发现了 API 的问题,或是想为这个项目的数据库贡献一些数据,那请你移驾访问我们的 Guthub Repo。不胜感激!

  • 相关阅读:
    编码器-解码器模型--本人实现
    Encoder-Decoder 架构实现
    一些数据集
    论文跟踪
    Densenet 实现
    多种卷积网络实现
    vs2019 指定项目输出目录和指定中间目录
    poi java读取excel文件
    eclipse配置tomcat添加外部项目
    eclipse配置tomcat
  • 原文地址:https://www.cnblogs.com/wchhuangya/p/6044651.html
Copyright © 2020-2023  润新知