返回顶部

收藏

网络编程之POST方法

更多
//Post 提交数据方法:   
- (void)post
{
    NSString *postString = [NSStringstringWithFormat:@"         {\\"userName\\":\\"%@\\",\\"userPass\\":\\"%@\\",\\"version\\":\\"1.0\\"}",self.userField.text,self.passwordField.text]; 
    NSLog(@"%@",postString);
   //一般转化称UTF-8,这里服务器需要ASCII
    NSData* postData = [postStringdataUsingEncoding:NSASCIIStringEncodingallowLossyConversion:YES];
   NSMutableURLRequest *request = [[[NSMutableURLRequestalloc] init] autorelease];
    [requestsetURL:[NSURLURLWithString:@"http://lib.wap.zol.com.cn/test/login.php"]];
    [requestsetCachePolicy:NSURLRequestUseProtocolCachePolicy];
    [requestsetTimeoutInterval:100.0];
    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:postData];
   // 应该是application/x-www-form-urlencoded,但对方服务器写成了appliction/x-www-form-urlencoded,告诉服务器是一个表单提交数据方式
    [requestsetValue:@"appliction/x-www-form-urlencoded"forHTTPHeaderField:@"Content-Type"];    
    //得到提交数据的长度
    NSString* len = [NSString stringWithFormat:@"%d", [postData length]];
    //添加一个http包头告诉服务器数据长度是多少
    [requestsetValue:len forHTTPHeaderField:@"Content-Length"];
    [NSURLConnectionconnectionWithRequest:request delegate:self];
}

//POST接收数据方法:
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    NSLog(@"didReceiveResponse");
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    NSLog(@"didReceiveData");

    [self.mutabledataappendData:data];
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    NSLog(@"connectionDidFinishLoading");  
    self.strUser = [[NSStringalloc]initWithData:self.mutabledataencoding:NSASCIIStringEncoding];
}
//该片段来自于http://outofmemory.cn

标签:objective-c,网络

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 靖哥哥 发表 2016-08-03 12:30:19 firefox开启多进程方法
  2. Parker Liu 发表 2015-06-16 06:48:56 Why Cannot Connect HTTP on iOS 9?
  3. 靖哥哥 发表 2016-08-28 00:08:09 winrar5.40官方无广告版
  4. 博主 发表 2016-09-05 08:49:19 最近做了一个c#网络编程的课程
  5. 博主 发表 2016-10-01 03:48:35 网络客户端的几种模式
  6. 陈, 翔 发表 2016-10-29 07:43:46 OpenStack巴塞罗那峰会直击Day2: 网络!
  7. 依云 发表 2016-12-14 13:01:24 使用 RSS 订阅知乎用户的动态
  8. 东方龙马 发表 2017-01-17 03:06:29 案例分享:北海助派网络
  9. 博主 发表 2017-02-15 00:00:00 Service Worker:让网页无网络也能访问
  10. 博主 发表 2017-02-21 11:52:42 网络03:网络连通性测试的相关命令
  11. 落絮飞雁 发表 2017-03-28 07:34:49 网络布线的碎碎念
  12. 博主 发表 2017-04-10 00:00:00 Python 网络编程

发表评论