`

发送Http请求(POST GET)的方法

阅读更多

我们知道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发送post和get请求源码

    在C#编程中,HTTP(超文本传输协议)是用于客户端和服务器之间通信的主要协议,主要涉及GET和POST两种常见的请求方法。本文将详细介绍如何在C#中实现这两种请求,并结合给定的文件名,推测这是一个简单的C#桌面应用...

    HttpClient发送http请求(post和get)需要的jar包+内符java代码案例+注解详解

    下面将详细介绍HttpClient库,HTTP请求的基本概念,以及GET和POST方法的差异。 HttpClient是Apache基金会开发的一个开源库,它提供了全面、强大的功能来处理HTTP协议。通过HttpClient,开发者可以方便地创建HTTP...

    c/c++ 发送HTTP POST/GET请求50行代码搞定

    50行代码http发送Post/Get请求,直接在linux gcc编译即可使用,或在win下任意c/c++编译器都可

    Delphi两种方法演示HTTP请求:GET/POST.rar

    Delphi两种方法演示HTTP请求:GET/POST方法使用演示,程序将演示使用这两种方法建立会话、建立一个http请求句柄、发送一个指定请求到httpserver、接收header信息和一个http请求、指向一个接收请求信息的缓冲区的指针...

    api实现http请求,支持post和get方法

    本主题聚焦于如何利用API实现HTTP请求,特别是支持POST和GET这两种最常见的HTTP方法。在Delphi 6这样的集成开发环境中,开发者经常需要与网络进行交互,获取或发送数据,而WinINet API库则为此提供了便利。 Delphi ...

    VC++ HTTP Get Post请求

    GET请求是最简单的HTTP方法,用于从服务器获取资源。在URL中,所有参数都以查询字符串的形式附加到URL末尾。在VC++中,可以使用WinInet库来实现GET请求。首先,包含必要的头文件`#include <wininet.h>`,然后使用`...

    java发送http/https请求(get/post)代码

    而对于HTTPS请求,除了使用相同的HTTP方法,还需要创建一个安全的套接字工厂,并将其设置到`HttpURLConnection`上: ```java SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, ...

    c# http协议,实现get或post发送请求 并返回内容

    1. GET:GET请求是最常见的HTTP方法,用于从服务器获取资源。参数通常附加在URL后面,可见且可缓存。GET请求对数据量有限制,一般不超过2KB。 2. POST:POST请求则用于向服务器发送数据,通常用于提交表单或者上传...

    java HttpClient 发送GET请求和带有表单参数的POST请求教程例子

    - 在发送请求之前,确保网络连接正常。 - 使用`try-catch-finally`结构来捕获可能的异常,并确保在`finally`块中释放资源,避免内存泄漏。 - 在处理响应时,注意编码问题,例如上述代码中的“UTF-8”。 - 如果在生产...

    使用java发送get和post请求实践

    在 `doPost` 方法中,我们首先创建了一个 `CloseableHttpClient` 对象,然后使用 `HttpPost` 对象来发送 POST 请求。在这个示例中,我们使用 `UrlEncodedFormEntity` 对象来指定请求体。 使用 Apache HttpClient 库...

    模拟GET/POST方法发送HTTP请求

    本文将深入探讨如何使用WinSock库模拟GET和POST方法来发送HTTP请求并接收响应数据。 首先,GET和POST是HTTP协议中的两种主要请求方法。GET方法用于请求获取指定资源,它在URL中显示请求参数,通常用于浏览网页或...

    java发送http/https请求(get/post)Demo,亲测可用

    以上就是Java中发送HTTP/HTTPS GET和POST请求的基本概念,以及处理JSON数据的方法。在实际应用中,还需要考虑错误处理、性能优化和其他安全因素。如果需要更复杂的功能,建议使用成熟的HTTP客户端库。

    C#实现发送简单HTTP请求的方法

    在`Main`方法中,我们执行以下步骤来发送HTTP请求: 1. 使用`WebRequest.Create`静态方法创建一个WebRequest对象,该方法接受一个URL作为参数,这里是"http://www.jb51.net"。这会根据URL创建一个适合的请求类型...

    后台模拟发送GET和POST请求

    5. 执行请求:使用HttpClient的`execute()`方法发送请求。 ```java CloseableHttpResponse response = httpClient.execute(req); ``` 6. 处理响应:获取并解析服务器返回的响应,例如,获取状态码、响应头和响应体...

    C# http Get/POST请求封装类

    GET和POST是HTTP协议中最常见的两种请求方法,分别用于获取资源和提交数据。本文将详细讨论如何在C#中封装一个用于执行HTTP GET和POST请求的类,以及`HttpHelper.cs`文件中的关键实现。 首先,了解GET和POST的基本...

    HttpClient(用CloseableHttpClient发送get/post请求)

    HttpClient(用CloseableHttpClient发送get/post请求)

    Java发送HTTP请求GET/POST测试

    在Java编程语言中,发送HTTP请求是常见的网络通信任务,主要涉及HTTP协议的GET和POST方法。本项目提供了一个完整的工程实例,可以帮助开发者理解和实践如何在Java中实现这两种请求方式。下面将详细介绍这两个方法...

    模拟http请求 post get

    "模拟HTTP请求 post get"指的是通过特定工具或编程方式,模拟浏览器发送GET和POST请求到服务器,以便获取或提交数据。 GET和POST是HTTP请求中最常见的两种方法: 1. GET:GET请求用于获取资源,它是幂等的,即多次...

    HttpClient发送http请求(post+get)需要的jar包+内符java代码案例+注解详解

    HttpClient是Java中执行HTTP请求的强大工具,支持多种HTTP方法。通过添加对应的jar包依赖,我们可以轻松地在Java项目中发送GET和POST请求。上述代码示例和注解解释有助于理解HttpClient的工作原理和使用方法。在实际...

Global site tag (gtag.js) - Google Analytics