iOS开发之百度免费API使用案例(身份证号获取地址、手机号查归属地、MD5解密等)

先附上百度APIStore的地址:APIStore

下面是其中几个使用案例:考虑到我的博客看的人比较少,里面的apikey就不隐藏了。万一有一天如果apikey使用频率过高被封了,请自行去百度APIStore申请

(身份证号码这俩,不太严谨,不能判断出生日期是否正确,只能解析出所在省市区,和判断最后一位校验码)

#import "ViewController.h"
#import "AFNetworking.h"
#define index 7

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
#if index == 1// 天气
    NSString *httpUrl = @"http://apis.baidu.com/heweather/weather/free";
    NSString *httpArg = @"city=beijing";
#elif index == 2// 身份证
    NSString *httpUrl = @"http://apis.baidu.com/apistore/idservice/id";
    NSString *httpArg = @"id=511702188000111114";
#elif index == 3// 生成二维码
    NSString *httpUrl = @"http://apis.baidu.com/3023/qr/qrcode";
    NSString *httpArg = @"qr=http://www.romzhijia.net/Cooperater/22";
#elif index == 4// 手机号归属地
    NSString *httpUrl = @"http://apis.baidu.com/apistore/mobilenumber/mobilenumber";
    NSString *httpArg = @"phone=15330000000";
#elif index == 5// 汉字转拼音
    NSString *httpUrl = @"http://apis.baidu.com/xiaogg/changetopinyin/topinyin";
    NSString *httpArg = [NSString stringWithFormat:@"str=%@&type=json&traditional=0&accent=0&letter=0&only_chinese=0", [@"哈哈" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
#elif index == 6// MD5解密
    NSString *httpUrl = @"http://apis.baidu.com/chazhao/md5decod/md5decod";
    NSString *httpArg = @"md5=e807f1fcf82d132f9bb018ca6738a19f";
#elif index == 7// 身份证(带生肖和星座)
    NSString *httpUrl = @"http://apis.baidu.com/chazhao/idcard/idcard";
    NSString *httpArg = @"idcard=210905188000111112";
#endif
    
    AFHTTPSessionManager *httpSessionManager = [AFHTTPSessionManager manager];
    [httpSessionManager.requestSerializer setValue:@"4a4332acbba8d97aa1f3940a8b093965" forHTTPHeaderField:@"apikey"];
    httpSessionManager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/html", @"text/plain", nil];
    [httpSessionManager GET:[NSString stringWithFormat:@"%@?%@", httpUrl, httpArg] parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
        
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSLog(@"%@", responseObject);
#if index == 1
        
#elif index == 2
        NSNumber *num = responseObject[@"errNum"];
        if (num.intValue == 0) {
            NSLog(@"%@", responseObject[@"retData"][@"address"]);
        }
#elif index == 4
        NSDictionary *dict = responseObject[@"retData"];
        for (NSString *key in dict.allKeys) {
            NSLog(@"%@\t\t%@", key, dict[key]);
        }
#elif index == 7
        NSDictionary *dict = responseObject[@"data"];
        for (NSString *key in dict.allKeys) {
            NSLog(@"%@\t\t%@", key, dict[key]);
        }
#endif
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        NSLog(@"%@", error);
    }];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Unity是一款跨平台的游戏开发引擎,通常用于开发各种类型的游戏应用程序。然而,Unity本身不提供直接获取手机号码的API。在Unity中,要获取手机号码,通常需要依赖于其他第三方库或平台提供的API。以下是一种可能的实现方式: 一种常见的方法是使用Unity与Android或iOS原生平台的交互能力来获取手机号码。在Unity中,可以通过使用C#调用Android或iOS的原生插件来获取手机号码。需要编写C#脚本,并在其中实现调用原生平台的API接口。 以Android平台为例,可以通过Unity与Android原生插件进行交互,使用Android TelephonyManager类的getLine1Number()方法获取设备的手机号码。首先,需要编写一个Android原生插件,实现获取手机号码的逻辑。然后,将该插件导入到Unity项目中,并在C#脚本中调用该插件的相关方法来获取手机号码。 对于iOS平台,可以使用Unity的iOS Native Plugin功能来实现类似的操作。首先,编写一个Objective-C类或Swift类,实现获取手机号码的逻辑。然后,将该类导入到Unity项目中,并通过Unity的iOS Native Plugin功能来调用该类的方法来获取手机号码。 需要注意的是,获取设备手机号码是涉及到用户隐私的操作,对于某些地区和国家可能会受到法律的限制。因此,在进行此类操作时,需要遵守相关的法律法规,并确保在获取用户手机号码时获得用户的明确授权。 综上所述,通过与Android或iOS原生平台的交互,可以在Unity中实现获取手机号码的功能。但需要注意合规性和法律要求,尊重用户隐私。 ### 回答2: Unity中获取手机号码的API并不是Unity自带的功能,因为Unity主要是用来开发游戏和应用程序的跨平台引擎,并不涉及直接获取手机号码的操作。但是在Unity开发过程中,可以通过调用第三方插件或者与手机端进行交互来获取手机号码。 一种常用的方法是使用Unity与Android或iOS设备进行交互,通过调用相关平台的API获取手机号码。例如,在Android平台上,可以使用Unity的Android插件功能,通过Java代码调用Android的TelephonyManager类的相关方法来获取手机号码。而在iOS平台上,可以使用Unity的iOS插件功能,通过Objective-C或Swift代码调用iOS的CoreTelephony类的相关方法来获取手机号码。 另外一种方法是通过在Unity应用中使用短信验证的服务提供商的API来验证手机号码。这些服务提供商通常会提供相应的API文档和示例代码,可以根据文档来调用API获取手机号码。这种方法通常需要在用户进行手机号码验证时才能获取手机号码。 总之,Unity本身并不直接提供获取手机号码的API,但可以通过与手机平台进行交互或使用短信验证服务来获取手机号码。具体的实现方式会根据所使用的平台和需求来选择合适的方法。 ### 回答3: 在使用Unity获取手机号码的API时,通常需要结合第三方平台或服务商来实现。下面是一种简单的方法来获取手机号码: 1. 首先,你需要选择一个合适的第三方服务商来提供手机号码验证的功能。目前市面上有很多提供短信验证码的平台,比如阿里云、腾讯云、互亿无线等。 2. 注册一个账号并获得API密钥,这个密钥将用于在Unity中调用API。 3. 在Unity中创建一个新的C#脚本,用来处理手机号码验证的逻辑。 4. 在脚本中使用Unity提供的网络请求功能来向服务商的API发送请求。 5. 使用服务商提供的API接口,将要验证的手机号码作为参数传递给API。 6. 接着,服务商将会返回一个短信验证码到指定的手机号码。 7. 在Unity中,你可以使用输入框等UI组件来让用户输入短信验证码。 8. 当用户输入了验证码后,将验证码和手机号码再次发送给服务商的API进行验证。 9. 服务商将验证结果返回给Unity,你可以根据结果来处理相应的逻辑。 需要注意的是,具体的实现细节和步骤可能会因为选择的服务商不同而有所差异。因此,在使用Unity获取手机号码的API时,最好可以参考所选服务商提供的文档和示例代码来进行开发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值