描述:

ASIHttpRequest是应用第三方库的方法,利用代码快,减少代码量,提高效率 准备工作:

一、导入第三方库ASIHttpRequest

二、会报很多的错,原因有两个,一个是要导入Xcode中自带的四个文件,一个是他没有使用自动引用计数

三、解决方案 1.导入四个系统文件,分别是 MobileCoreServices.framework SystemConfiguration.framework

CFNetwork.framework libz.1.2.5.dylib 2.手动关掉自动引用计数 在工程的buide phase 中的 compile sources

中,将ASIHhttp类型的,点击后面,添加上-fno-objc-arc 3.运行一遍,就不会报错了 实现异步post请求

#import "ASIHTTPRequest.h"

- (void)viewDidLoad

{

[self requestHttp];

}

-(void)requestHttp

{

//1200792098331

//首先创建一个URL的对象

NSURL * url = [NSURL urlWithString:[NSString stringWithFormat:@"http://api.kuaidi100.com/api?id=d6b9888b0da96f6b&com=%@&nu=%@&show=0&muti=1&order=desc&display=mobile",name]];

NSURL * url =[NSURL URLWithString:[NSString stringWithFormat:@"http://api.kuaidi100.com/api?id=d6b9888b0da96f6b&com=%@&nu=%@&show=0&muti=1&order=desc&display=mobile"]];

NSLog(@"url======%@",url);

再创建一个请求对象

ASIHTTPRequest * request = [ASIHTTPRequest requestWithURL:url];

发送请求,并返回相应的JSon数据

[request setCompletionBlock:

^{

NSError * error = nil;

//创建一个字典,接收返回的JSON数据

NSDictionary * dictionary = [NSJSONSerialization JSONObjectWithData:request.responseData options:kNilOptions error:&error];

NSLog(@"%@",dictionary);

//创建一个数组,并将字典中的数据存放再数组中

NSArray * arr = [dictionary objectForKey:@"data"];

//将数组中的数据变例一下,并将变例后的数据存放在一个可变的数组中

for (NSDictionary * temp in arr)

{

[self.array addObject:[NSString stringWithFormat:@"%@ \n%@",[temp objectForKey:@"time"],[temp objectForKey:@"context"]]];

}

//  将变例后的可变数组中的数据以字符串的形势赋给一个可变字符串对象,同时变例字符串

for(NSString* temp in self.array)

{

[self.mutableString appendString:[NSString stringWithFormat:@"%@\n",temp]];

NSLog(@" temp==== %@",temp);

}

//我这里是将变例后的可变字符串赋给了一个lable

self.jieGuoLale.text = self.mutableString;

NSLog(@"self.jieGuoLale.text======%@",self.jieGuoLale.text);

}];

//如果请求发送失败,则调出警告框

[request setFailedBlock:

^{

UIAlertView * alerteView = [[UIAlertView alloc]initWithTitle:@"提示" message:@"问题警告:网络链接异常,请稍后再试" delegate:nil cancelButtonTitle:@"退出" otherButtonTitles: nil];

[alerteView show];

}];

//发送一个异步请求

[request startAsynchronous];

}

iOS之ASIHttp简单的网络请求实现的更多相关文章

  1. Xamarin.Android之封装个简单的网络请求类

    一.前言 回忆到上篇 <Xamarin.Android再体验之简单的登录Demo> 做登录时,用的是GET的请求,还用的是同步, 于是现在将其简单的改写,做了个简单的封装,包含基于Http ...

  2. iOS中使用block进行网络请求回调

    iOS中使用block进行网络请求回调 HttpRequest.h // // HttpRequest.h // UseBlockCallBack // // Created by Michael o ...

  3. IOS开发之自动布局显示网络请求内容

    在上一篇博客中详细的介绍了IOS开发中的相对布局和绝对布局,随着手机屏幕尺寸的改变,在App开发中为了适应不同尺寸的手机屏幕,用自动布局来完成我们想要实现的功能和效果显得尤为重要.本人更喜欢使用相对布 ...

  4. Android 最早使用的简单的网络请求

    下面是最早从事android开发的时候写的网络请求的代码,简单高效,对于理解http请求有帮助.直接上代码,不用解释,因为非常简单. import java.io.BufferedReader; im ...

  5. IOS 京东相关app 出现“网络请求失败,请检查您的网络设置”的解决办法

    问题情况 在IOS系统下,下载安装或者更新新版的京东相关app之后,打开app直接就是“网络请求失败,请检查网络设置”,无论是数据连接还是wifi都试了,都是网络请求失败. 然而打开无线局域网-使用无 ...

  6. iOS 技术篇:如何处理多个网络请求的先后(依赖)关系

    在开发过程中,不知你有没有碰到过在一个页面 用到了多个网络请求,而且根据业务需求,需要有次序的执行A B C 网络请求? 你可能会想到,我在A的请求成功回调里去处理B,在B的回调里去请求C,但你后来会 ...

  7. iOS中4种判断网络请求的方式(系统状态栏、AFNetworking、Reachability、自定义)

    iOS 实时判断网络状态 方法一:利用系统状态栏判断网络状态 // 状态栏是由当前app控制的,首先获取当前app UIApplication *app = [UIApplication shared ...

  8. 解决ios开发中不合法的网络请求地址

    NSString *const kWebsite = @"http://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct ...

  9. Java笔记7:最简单的网络请求Demo

    一.服务器端 1 新建一个工程,建立一个名为MyRequest的工程. 2 FileàProject StructureàModulesà点击最右侧的“+”àLibraryàJava 找到Tomcat ...

随机推荐

  1. 听同事讲 Bayesian statistics: Part 2 - Bayesian inference

    听同事讲 Bayesian statistics: Part 2 - Bayesian inference 摘要:每天坐地铁上班是一件很辛苦的事,需要早起不说,如果早上开会又赶上地铁晚点,更是让人火烧 ...

  2. js中实现页面跳转

    1.在本页中跳转到指定页面 1.window.location.href方式    <script language="javascript" type="text ...

  3. 运行 Docker 容器时的安全风险:别丢了你的套接字

    我们都遇到过这种情况:你只是想尝试一段命令行,但安装进程却如同抵押贷款申请那般繁琐.如果不是强制要求完成这么多步骤,你的开发环境会被永远不会再使用的库弄乱.自然, Docker 来了以后,你惊异地发现 ...

  4. 创建虚拟桌面的代码(重启桌面进程)(使用GetThreadDesktop,CreateDesktop,SetThreadDesktop等函数)

    在upk 里挖坟得来,有兴趣查查这几个函数... #include "windows.h" #pragma comment(lib,"user32.lib") ...

  5. oracle object_id和data_object_id的区别

    Oracle的数据字典表dba_objects包含了两个字段,object_id, data_object_id,官方文档上的解释是: object_id: Dictionary object num ...

  6. Translate one

    打开一个新窗口并加载给定URL指定的文档. 导航应用程序窗口到指定的位置. 语法 var retval = window.open(url, name, features, replace); 参数 ...

  7. 两款.net 下编辑器小结

    在asp.net 状态下,有两款不错的网页编辑器,分别是freetextbox和fckeditor,网上不少文章介绍之,现归纳之 1 freetextox      安装时引用freetexbox.d ...

  8. 【Moment.js】

    Moment.js Moment.js中文网 var moment = require('moment') moment.locale('zh-cn') /* 九月 13日 2015, 4:45:25 ...

  9. 【Node】fs

    var fs = require('fs') // fs 文件系统 var stdin = process.stdin var stdout = process.stdout var stats = ...

  10. Asp.Net 前后台交互小结

    转自:http://blog.csdn.net/wlccomeon/article/details/17270427 一.前台调用后台           前台调用后台的方法一共可分为两大类:使用Ht ...