/先列举用NSURLSession异步post请求服务器
//先初始化一个url和request
NSURL *url=[NSURL URLWithString:@"这里是你需要请求的网址"];
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];
NSDictionary *jsonDic = [self getJSONdata];
//这里设置request的请求方法,不设置会默认为get方法
request.HTTPMethod=@"POST";
//设置request的请求参数
request.HTTPBody = [NSJSONSerialization dataWithJSONObject:jsonDic options:NSJSONWritingPrettyPrinted error:nil];
//设置request的请求格式 我这里是json格式 大家可以根据需要改成相应格式
[request setValue:@"application/jason" forHTTPHeaderField:@"Content-Type"];
NSURLSession *session=[NSURLSession sharedSession];
//这里就会异步请求服务器,成功就会进入dict[@"success"];如果失败 请根据出错原因看看哪里设置错误
NSURLSessionDataTask *dataTask=[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
if (dict[@"error"]) {
NSLog(@"%@",dict[@"error"]);
}
else
{
dict[@"success"];
}
}];
//千万别忘了这个
[dataTask resume];
//请求的json数据参数
+ (NSDictionary *)getJSONdata
{
return @{
@"method": @"marketNotModule",
@"client": @1,
@"jsession": @"",
@"marketCode": @"tencent",
@"userId": @0,
@"version": @"3.0.5"
};
}
//列举第三方框架AFNetworking异步post请求服务器
//和NSURLSession差不多 同样需要请求参数
NSDictionary *dic;
dic = [self getDataWillCommitJSON];
AFHTTPRequestOperationManager *manage = [AFHTTPRequestOperationManager manager];
manage.responseSerializer = [AFJSONResponseSerializer serializer];
manage.requestSerializer=[AFJSONRequestSerializer serializer];
//如果不知道下面该传什么参数格式 先别设置下面这行代码 执行就会出错 就可以知道参数格式了
manage.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/x-javascript", nil];
//成功就会异步调用进入success,responseObject就是请求到的数据
[manage POST:@"http://tvfan.cn/clientProcess.do" parameters:dic success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) {
NSLog(@"%@",responseObject);
} failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {
NSLog(@"%@",error);
}];