我们知道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/
分享到:
相关推荐
在C#编程中,HTTP(超文本传输协议)是用于客户端和服务器之间通信的主要协议,主要涉及GET和POST两种常见的请求方法。本文将详细介绍如何在C#中实现这两种请求,并结合给定的文件名,推测这是一个简单的C#桌面应用...
下面将详细介绍HttpClient库,HTTP请求的基本概念,以及GET和POST方法的差异。 HttpClient是Apache基金会开发的一个开源库,它提供了全面、强大的功能来处理HTTP协议。通过HttpClient,开发者可以方便地创建HTTP...
50行代码http发送Post/Get请求,直接在linux gcc编译即可使用,或在win下任意c/c++编译器都可
Delphi两种方法演示HTTP请求:GET/POST方法使用演示,程序将演示使用这两种方法建立会话、建立一个http请求句柄、发送一个指定请求到httpserver、接收header信息和一个http请求、指向一个接收请求信息的缓冲区的指针...
本主题聚焦于如何利用API实现HTTP请求,特别是支持POST和GET这两种最常见的HTTP方法。在Delphi 6这样的集成开发环境中,开发者经常需要与网络进行交互,获取或发送数据,而WinINet API库则为此提供了便利。 Delphi ...
GET请求是最简单的HTTP方法,用于从服务器获取资源。在URL中,所有参数都以查询字符串的形式附加到URL末尾。在VC++中,可以使用WinInet库来实现GET请求。首先,包含必要的头文件`#include <wininet.h>`,然后使用`...
而对于HTTPS请求,除了使用相同的HTTP方法,还需要创建一个安全的套接字工厂,并将其设置到`HttpURLConnection`上: ```java SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, ...
1. GET:GET请求是最常见的HTTP方法,用于从服务器获取资源。参数通常附加在URL后面,可见且可缓存。GET请求对数据量有限制,一般不超过2KB。 2. POST:POST请求则用于向服务器发送数据,通常用于提交表单或者上传...
- 在发送请求之前,确保网络连接正常。 - 使用`try-catch-finally`结构来捕获可能的异常,并确保在`finally`块中释放资源,避免内存泄漏。 - 在处理响应时,注意编码问题,例如上述代码中的“UTF-8”。 - 如果在生产...
在 `doPost` 方法中,我们首先创建了一个 `CloseableHttpClient` 对象,然后使用 `HttpPost` 对象来发送 POST 请求。在这个示例中,我们使用 `UrlEncodedFormEntity` 对象来指定请求体。 使用 Apache HttpClient 库...
本文将深入探讨如何使用WinSock库模拟GET和POST方法来发送HTTP请求并接收响应数据。 首先,GET和POST是HTTP协议中的两种主要请求方法。GET方法用于请求获取指定资源,它在URL中显示请求参数,通常用于浏览网页或...
以上就是Java中发送HTTP/HTTPS GET和POST请求的基本概念,以及处理JSON数据的方法。在实际应用中,还需要考虑错误处理、性能优化和其他安全因素。如果需要更复杂的功能,建议使用成熟的HTTP客户端库。
在`Main`方法中,我们执行以下步骤来发送HTTP请求: 1. 使用`WebRequest.Create`静态方法创建一个WebRequest对象,该方法接受一个URL作为参数,这里是"http://www.jb51.net"。这会根据URL创建一个适合的请求类型...
5. 执行请求:使用HttpClient的`execute()`方法发送请求。 ```java CloseableHttpResponse response = httpClient.execute(req); ``` 6. 处理响应:获取并解析服务器返回的响应,例如,获取状态码、响应头和响应体...
GET和POST是HTTP协议中最常见的两种请求方法,分别用于获取资源和提交数据。本文将详细讨论如何在C#中封装一个用于执行HTTP GET和POST请求的类,以及`HttpHelper.cs`文件中的关键实现。 首先,了解GET和POST的基本...
HttpClient(用CloseableHttpClient发送get/post请求)
在Java编程语言中,发送HTTP请求是常见的网络通信任务,主要涉及HTTP协议的GET和POST方法。本项目提供了一个完整的工程实例,可以帮助开发者理解和实践如何在Java中实现这两种请求方式。下面将详细介绍这两个方法...
"模拟HTTP请求 post get"指的是通过特定工具或编程方式,模拟浏览器发送GET和POST请求到服务器,以便获取或提交数据。 GET和POST是HTTP请求中最常见的两种方法: 1. GET:GET请求用于获取资源,它是幂等的,即多次...
HttpClient是Java中执行HTTP请求的强大工具,支持多种HTTP方法。通过添加对应的jar包依赖,我们可以轻松地在Java项目中发送GET和POST请求。上述代码示例和注解解释有助于理解HttpClient的工作原理和使用方法。在实际...