注册 登录
主题 : NSURLConnection异步发送HTTP请求
级别: 侠客
UID: 26229
精华: 0
发帖: 51
可可豆: 459 CB
威望: 459 点
在线时间: 140(时)
注册时间: 2010-07-30
最后登录: 2017-10-07
0 楼:  发表于: 2010-11-02 16:07    发自: Web Page

NSURLConnection异步发送HTTP请求    (在iOS代码库中浏览本帖)

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
 NSString *new = [searchBar.text stringByReplacingOccurrencesOfString:@" " withString:@"+"];
 NSString *urlString = [NSString stringWithFormat:@"http://192.168.1.104/test.php?cid=%@",new];
 NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingGB_18030_2000);
  NSString *strUrld8 = [urlString stringByAddingPercentEscapesUsingEncoding:enc];
 //调用http get请求方法 
 [self sendRequestByGet:strUrld8];
}
//HTTP get请求方法
- (void)sendRequestByGet:(NSString*)urlString
{  
 NSURL *url=[NSURL URLWithString:urlString];
 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url
                cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
               timeoutInterval:60];
 //设置请求方式为get
 [request setHTTPMethod:@"GET"];
 //添加用户会话id
 [request addValue:@"text/html" forHTTPHeaderField:@"Content-Type"];
 //连接发送请求
 receivedData=[[NSMutableData alloc] initWithData:nil];
 NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
 [request release];      
 [conn release];
}
- (void)connection:(NSURLConnection *)aConn didReceiveResponse:(NSURLResponse *)response {
    // 注意这里将NSURLResponse对象转换成NSHTTPURLResponse对象才能去
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response;
    if ([response respondsToSelector:@selector(allHeaderFields)]) {
        NSDictionary *dictionary = [httpResponse allHeaderFields];
        NSLog(@"[email=dictionary=%@]dictionary=%@",[dictionary[/email] description]);
  
    }
}
//接收NSData数据
- (void)connection:(NSURLConnection *)aConn didReceiveData:(NSData *)data {
 [receivedData appendData:data];
}
- (void)connection:(NSURLConnection *)aConn didFailWithError:(NSError *)error{
 NSLog(@"[email=error=%@]error=%@",[error[/email] localizedDescription]);
}
//接收完毕,显示结果
- (void)connectionDidFinishLoading:(NSURLConnection *)aConn {
   NSString *results = [[NSString alloc]
                         initWithBytes:[receivedData bytes]
                         length:[receivedData length]
                         encoding:NSUTF8StringEncoding];
 NSLog(@"results=%@",results);
}   

php:
<?php
if ($_GET["cid"]) {
 $cid=iconv('gb2312','utf-8',$_GET["cid"]);
 echo $cid;
}
?>
我是菜鸟,这是今天新学的东西,包括对汉字进行Encoding编码,GET请求等.网上用POST的例子很多.所以我用的GET,希望对以后路过的朋友有帮助,以上代码都是我从网上找的并进行修改的.

级别: 骑士
UID: 8698
精华: 0
发帖: 242
可可豆: 2384 CB
威望: 2384 点
在线时间: 2227(时)
注册时间: 2009-09-12
最后登录: 2013-10-08
1 楼:  发表于: 2010-11-03 15:40    发自: Web Page
用ASIHTTPRequest也是很方便的
级别: 风云使者

状态: 连续签到 - [25天]
UID: 29025
精华: 0
发帖: 2724
可可豆: 18569 CB
威望: 18611 点
在线时间: 12170(时)
注册时间: 2010-08-29
最后登录: 2019-11-28
2 楼:  发表于: 2010-11-04 21:53    发自: Web Page
回 楼主(causlayer) 的帖子
学习了,还有php
天道酬勤!

CocoaChina社区转载内容已尽可能注明出处,如未能核实来源或转发内容图片有权利瑕疵的,请及时联系社区进行修改或删除【联系方式QQ : 3442093904 邮箱:support@cocoachina.com】文章内容为作者独立观点,不代表CocoaChina社区立场。版权归原作者所有,如申请授权请联系作者,因文章侵权CocoaChina社区不承担任何法律及连带责任。

描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部