我们知道Http有Get和Post两种方法,我们分开说吧.
另注: 今天讲的方法是同步的请求, 异步的方法我还没试过, 不知道有没有使用异步的需求, 有的话于发上来和大家分享.
1.Get方法
1.1
使用NSMutableURLRequest view plaincopy to clipboardprint?
NSURL* url = [NSURL URLWithString:@http://aminby.net];
NSMutableURLRequest* request = [NSMutableURLRequest new];
[request setURL:url];
[request setHTTPMethod:@"GET"];
NSHTTPURLRequest* response;
NSData* data = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response error:nil];
[NSString* strRet = [[NSString alloc] initWithData:data encoding:NSUTF8String];
NSLog(strRet);
[strRet release];
1.2
使用NSString view plaincopy to clipboardprint?
[NSString stringWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error];
// 或者
[NSString stringWithContentsOfURL:(NSURL *)url];
[NSString stringWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error]; // 或者 [NSString stringWithContentsOfURL:(NSURL *)url];
1.3 使用NSData view plaincopy to clipboardprint?
[NSData dataWithContentsOfURL:(NSURL *)url];
// options有两个枚举,NSMappedRead这个不懂, NSUncachedRead是不缓存
[NSData dataWithContentsOfURL:(NSURL *)url options:(NSUInteger)readOptionsMask error:(NSError **)errorPtr]
1.2和1.3的方法是缺点是没办法知道response的status,一般是返回200-299之间的数值代表请求成功.
我们可以依照这个code来做数据处理, 如果对地址存在很有把握,就可以使用后两种简单的GET方法.
今天查了一下手册,发现NSArray NSDictionary 也有xxxxWithContentsOfURL的方法, 这两个我还没用过, 应该是跟NSData和NSString一样,但具体怎么用我还不清楚.
2.Post方法
2.1
使用NSMutableURLRequest view plaincopy to clipboardprint?
NSURL* url = [NSURL URLWithString:@http://aminby.net];
NSMutableURLRequest* request = [NSMutableURLRequest new];
[request setURL:url];
[request setHTTPMethod:@"GET"];
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:@"some param"];
NSHTTPURLRequest* response;
NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
[NSString* strRet = [[NSString alloc] initWithData:data encoding:NSUTF8String];
NSLog(strRet);
[strRet release];
转载地址:
http://aminby.net/2010/07/iphone-develop-how-to-send-http-request/
分享到:
相关推荐
50行代码http发送Post/Get请求,直接在linux gcc编译即可使用,或在win下任意c/c++编译器都可
Delphi两种方法演示HTTP请求:GET/POST方法使用演示,程序将演示使用这两种方法建立会话、建立一个http请求句柄、发送一个指定请求到httpserver、接收header信息和一个http请求、指向一个接收请求信息的缓冲区的指针...
java发送http/https请求(get/post)代码,java 通过发送json,post请求,返回json数据的方法 java 通过发送json,post请求,返回json数据的方法
超文本传输协议(HTTP)的...两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。 GET - 从指定的资源请求数据。 POST - 向指定的资源提交要被处理的数据
用WinSock写的一个模拟GET/POST方法发送HTTP请求并取得数据的一个小东东。一个朋友希望我帮他做在一个复杂的WEB系统里面自动取某些页面数据的小程序,但没办法改他的现有系统,只好写个模拟的浏览器,打算做成自动...
用WinSock写的一个模拟GET/POST方法发送HTTP请求并取得数据
VC++ HTTP Get Post请求,自己编译就知道了,跟给力。。
HttpClient发送http请求(post+get)需要的jar包+内符java代码案例+注解详解(这款工具类是我精心挑选适合广大java程序猿使用)
HttpClient(用CloseableHttpClient发送get/post请求)
c# http协议,实现get或post发送请求 并返回内容
httpclient的用法,发送get请求和post请求,设置header
VC Socket GET_POST发送HTTP请求示例
本代码是httpclient发送get请求和post请求demo,具体描述参考博客 HttpClient发送get请求和post请求
向指定 URL 发送POST、GET方法的请求
httpclient实现的工具类含有以下功能: 1、后台模拟发送GET请求 2、后台模拟发送POST请求 3、解决了中文乱码
C++ 实现 HTTP HTTPS POST GET(包含curl版本和winhttp两种实现)。 玩过抓包,网络协议分析的朋友肯定都知道http https post get,web端和用户的交互主要是通过post get完成的。 我这里有两种实现: 1:libcurl实现的...
完整的java发送http包工程,可发送get及post请求。
使用java发送get和post请求实践
用HTML页面模拟测试get/post请求,psot请求参数的格式为json串
VC++演示GET/POST发送请求的HTTP客户端,为了演示HTTP的客户编写的,因此运行时必须在本机有开HTTP服务才行。程序会会自动发送用户选择的请求类型,并跟踪这个请求,并返回信息在主窗体上。