iOS网络编程-ASIHTTPRequest框架同步请求

在ASIHTTPRequest框架中与HTTP请求相关的类有:ASIHTTPRequest和ASIFormDataRequest,其中最常用的是ASIHTTPRequest,ASIFormDataRequest是ASIHTTPRequest的子类,ASIFormDataRequest可以发送类似与HTML表单数据,也可以上传数据,默认采用POST请求方法。也可以其它的HTTP请求方法。它们都可以进行异步或同步请求。下面我们从最简单的GET同步请求介绍。

1、实现GET同步请求

实现GET同步请求使用最基本请求类ASIHTTPRequest就可以了。我们还是使用MyNotes应用为例,只考虑查询功能实现,修改主视图控制器MasterViewController.m的startRequest方法如下:

-(void)startRequest{NSString *strURL = [[NSString alloc] initWithFormat:@”http://iosbook3/mynotes/webservice.php?email=%@&type=%@&action=%@”,

@”<你的iosbook1.com用户邮箱>”,@”JSON”,@”query”];NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];[request startSynchronous];NSLog(@”请求完成…”);NSError *error = [request error];if (!error) {//NSString *response = [request responseString];

NSData *data  = [request responseData];NSDictionary *resDict = [NSJSONSerialization JSONObjectWithData:dataoptions:NSJSONReadingAllowFragments error:nil];[self reloadView:resDict];}}

 


使用ASIHTTPRequest类,需要引入头文件ASIHTTPRequest.h。

2、实现POST同步请求

发送POST方法的请求,无论同步还是异步请求都是使用ASIFormDataRequest类,只不过它们稍微有些不同。本节我们只介绍同步请求下使用ASIFormDataRequest类来发送POST方法。修改主视图控制器MasterViewController.m的startRequest方法如下:

-(void)startRequest{NSString *strURL = @”http://iosbook3/mynotes/webservice.php”;

NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];[request setPostValue:@ "<你的iosbook1.com用户邮箱>" forKey:@"email"];                ③[request setPostValue:@"JSON" forKey:@"type"];[request setPostValue:@"query" forKey:@"action"];[request startSynchronous];NSLog(@”请求完成…”);NSError *error = [request error];if (!error) {//NSString *response = [request responseString];

NSData *data  = [request responseData];NSDictionary *resDict = [NSJSONSerialization JSONObjectWithData:dataoptions:NSJSONReadingAllowFragments error:nil];[self reloadView:resDict];}}

 


使用ASIFormDataRequest需要引入头文件ASIFormDataRequest.h。

如果我们想发送除了GET和POST以外的其它请求方法,可以使用[request setRequestMethod:@"PUT"]语句设置,其中PUT是请求方法。

转载于:https://www.cnblogs.com/iOS-Blog/archive/2013/04/01/2992691.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494183.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果未来秘密在这里!从神秘组织到七大技术布局

来源&#xff1a;智东西随着人工智能的艰难发展&#xff0c;智能手机增长的放缓&#xff0c; 苹果公司能否第三次重塑自我&#xff1f;在很多方面&#xff0c;苹果仍然是一家以Steve Jobs个人形象制造的公司&#xff0c;专注于颠覆性产品。但今天&#xff0c;苹果走在了十字路口…

❤️ 爬虫分析CSDN大佬之间关系,堪比娱乐圈 ❤️

&#x1f345; 作者主页&#xff1a;不吃西红柿 &#x1f345; 简介&#xff1a;CSDN博客专家&#x1f3c6;、信息技术智库公号作者✌简历模板、PPT模板、技术资料尽管【关注】私聊我。历史文章目录&#xff1a;https://t.1yb.co/zHJo &#x1f345; 欢迎点赞 &#x1f44d; …

编程之美--读书笔记--返回一个数组中所有元素被第一个元素除的结果

笔试题目1&#xff1a;写一个函数&#xff0c;返回一个数组中所有元素被第一个元素除的结果 很多人会想到如下&#xff1a; void DivAarry&#xff08;int *pArray,int size) { for(int isize-1;i>0;i--) { pArray[i] / pArray[0]; } } 问题1&#xff1a;可不可以把循环正着…

SSH框架整合

ssh框架整合步骤如下 提示&#xff1a;myeclipse环境、工程环境、tomcat环境的jdk保持一致 1、新建一个工程&#xff0c;把工程的编码为utf-8 2、把jsp的编码形式改成utf-8 3、把jar包放入到lib下 4、建立三个src folder src 存放源代码 config 存放配置文件 hibernate…

给你的Linux把把脉(内存、磁盘、CPU、网络)

🍅 作者主页:不吃西红柿 🍅 简介:CSDN博客专家🏆、信息技术智库公号作者✌。简历模板、职场PPT模板、技术难题交流、面试套路尽管【关注】私聊我。 今日重点: ① 学会查看linux各种状态,包括:网络IO、磁盘、CPU、内存等; ② 学会理解命令所代表的含义,能够…

关于未来的10点核心思考

作者&#xff1a;尤瓦尔赫拉利 牛津大学历史学博士&#xff0c;全球瞩目的新锐历史学家来源&#xff1a;《今日简史》世界正在变得越来越复杂&#xff0c;我们正在陷入知识的错觉和群体的无知。同时&#xff0c;我们的生活被社交媒体所塑造&#xff0c;真相早已不存在&#xff…

❤️爆肝3万字,最硬核丨Mysql 知识体系、命令全集 【建议收藏 】❤️

&#x1f345; 作者主页&#xff1a;不吃西红柿 &#x1f345; 简介&#xff1a;CSDN博客专家&#x1f3c6;、信息技术智库公号作者✌ 简历模板、PPT模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &am…

今天专攻POWERSHELL获取本机CPU,内存消耗

PS脚本如下&#xff1a; 1 $Server $env:computername2 #servers CPU Mem Hardinfor 3 $cpu gwmi –computername $Server win32_Processor 4 $men gwmi -ComputerName $Server win32_OperatingSystem 5 $Disks gwmi –Computer: $Server win32_logicaldisk -filter …

证明黎曼猜想的5页论文已发布!最简洁的解读在这里

来源&#xff1a;潇轩社著名数学家阿蒂亚&#xff08;Michael Atiyah&#xff09;公开了他为黎曼猜想做的“简洁证明”&#xff0c;论文长度总共5页。借助量子力学中的无量纲常数α&#xff08;fine structure constant&#xff09;&#xff0c;阿提亚声称解决了复数域上的黎曼…

struts2+ajax+json使用实例

本文主要包含一个struts2ajaxjson的使用实例 步骤如下 1.准备工作 ①ajax使用Jquery&#xff1a;jquery-1.4.2.min.js ②struts2与json的依赖包&#xff1a;struts2-json-plugin-2.2.3.jar,json-lib PS&#xff1a;版本可自己控制&#xff01;~ 2.过程 ①引入json依赖包…

《Python顶级入门教程》一步一步,是魔鬼的步伐

目录 &#x1f345; 1、欲练此功&#xff0c;先知此人 ⚾ 2、Python 语言特性 ❤ 3、Python 特点 &#x1f345; 4、Python 行情如何&#xff1f; ✍ 5、Python 怎么学&#xff1f; 5.1 学理论——懂原理 5.2 做练习——会应用 5.3 团队学习——不懂就问 &#x1f34…

C#/C++/Fortran 在32位/64位下数学计算性能对比

测试平台 在我的上一篇博客中对比了VS2010中C#和C在运算密集型程序中的性能。上一篇博客的链接&#xff1a; http://www.cnblogs.com/ytyt2002ytyt/archive/2011/11/24/2261104.html 当时是在AMD 速龙9650 CPU(4核心)下的测试结果。 随着VS2012、Intel Parallel Studio XE 2013…

《Pycharm操作和配置指南》这些不会,写Python肯定慢嘛

据说,看我文章的帅帅 都有个习惯:先点赞、收藏再看 目录 🍅 一、Pycharm 常用命令大全 ♣ 二、Pycharm 骚操作 🍑 1、全局查找

“光纤之父”高锟离世,感谢他的贡献

来源&#xff1a;云头条据明报报道&#xff0c;香港中文大学前校长、“光纤之父”、2009年诺贝尔物理学奖得主&#xff0c;今天&#xff08;9月23日&#xff09;下午在医院离世&#xff0c;享年84岁。高錕1933年11月在中国上海出生&#xff0c;祖贯江苏金山市&#xff0c;出身书…

struts2服务端与android交互

本文主要包括以下内容 android与struts2服务器实现登陆 android从struts2服务器获取list数据 android上传数据到struts2服务器 服务器端代码 package com.easyway.json.android;import java.util.HashMap; import java.util.Map;import javax.servlet.http.HttpServletReque…

爆款专栏《Python 黑科技》目录导航丨进度:12/50

《Python 快速入门专栏丨掌握基础》和《Python 黑科技丨练习应用》由 CSDN 博客专家丨全站排名 Top 8 的硬核博主 不吃西红柿 倾力打造&#xff0c;旨在帮助大家快速入门掌握 Python。 更有学习资料&#xff0c;简历和 PPT 模板&#xff0c;微信公众号 【信息技术智库】关注我&…

干货|2018年中国智能硬件行业现状与发展趋势报告

来源&#xff1a;前瞻产业研究院未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#xff1b;开展互联网…

Unity3d--美工建模须知【转http://blog.csdn.net/tanmengwen/article/details/8735889】

3dsmax2010安装插件&#xff0c;输出FBX的类型导入Unity3D中。默认情况下&#xff0c;3dsmax8可以和U3D软件直接融合&#xff0c;自动转换为FBX物体。 1.面数控制 在MAX软件中制作单一Game Object物体的面数不能超过65000个三角形&#xff0c;即32500个多边形Poly&#xff0c;如…

一文看懂芯片测试产业

来源&#xff1a;基业常青经济研究院从IDM到垂直分工&#xff0c;IC产业专业化分工催生独立测试厂商出现。集成电路产业从上世纪60年代开始逐渐兴起&#xff0c;早期企业都是IDM运营模式&#xff08;垂直整合&#xff09;&#xff0c;这种模式涵盖设计、制造、封测等整个芯片生…

为什么0.1无法被二进制小数精确表示?

这个问题困扰了我不少时间&#xff0c;最近有个比较清晰的认识&#xff0c;和大家分享。 这个问题首先要从数位表示法说起。今天我们看到的123这样的十进制数&#xff0c;是自然而然的理解其意义&#xff0c;但是有没有深究其内在的数学原理呢&#xff1f; 所谓十进制是0~9十个…