Object-C(ios)调用手机号码查询接口示例:
//
// ViewController.m
// ApiTest
//
// Created by administrator on 16/9/8.
// Copyright © 2016年 star. All rights reserved.
//
#import "ViewController.h"
#define Host @"https://api.ip138.com/mobile/"
@interface ViewController ()<NSXMLParserDelegate>
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSString * token = @"d0a79d9d5767b5f1f692634c9b08a71604";
[self executeNetworkWithMobile:@"13578729563" dateType:@"txt" callBack:@"find" token:token];
}
/**
*示例https://api.ip138.com/mobile/?mobile=13965321190&datatype=jsonp&callback=find&token=d0a79d9d5767b5f1f692634c9b08a71604
*参数说明:
*1. mobile string mobile
*2. datatype string txt|jsonp|xml(可选,默认为jsonp)
*3. callback string 回调函数 当前参数仅为jsonp格式数据提供(可选,默认为空)
*4. token string 购买服务后会提供(必填)
*/
- (void)executeNetworkWithMobile:(NSString *)mobile dateType:(NSString *)dateType callBack:(NSString *)callBack token:(NSString *)token{
NSString * urlString =[NSString stringWithFormat:@"%@?mobile=%@&datatype=%@&callback=%@&token=%@",Host,mobile,dateType,callBack,token];
//准备网络请求
NSString *newStr = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:newStr];
NSURLRequest *requst = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:10];
//请求异步链接
[NSURLConnection sendAsynchronousRequest:requst queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
if (connectionError) {
NSLog(@"jsonError = %@",connectionError);
return ;
}
//请求格式txt
if ([dateType isEqualToString:@"txt"]) {
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"result = %@",result);
}
//datatype xml
else if ([dateType isEqualToString:@"xml"]){
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"result = %@",result);
}
else{
NSError *jsonError = nil;
NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
/*如果设置了回调函数,则可截取后再在转化为NSDictionary,也可直接转化为NSString*/
if (callBack&&[callBack length]>0) {
NSRange range = [jsonString rangeOfString:@"("];
range.location++;
range.length = [jsonString length] - range.location - 1;
jsonString = [jsonString substringWithRange:range ];
}
NSDictionary *jsonResponse =
[NSJSONSerialization JSONObjectWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding]
options:0
error:&jsonError];
if (jsonError) {
NSLog(@"jsonError = %@",jsonError);
return ;
}
NSLog(@"jsonResponse = %@",jsonResponse);
}
}];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end