2012-02-22 199 views
2

我已经更改为NSURLConnection和NSURLRequest委托,用于我的db连接等。 我使用ASIHTTPRequest库来完成所有这些工作,但最终决定继续前进,因为缺乏对那第三方图书馆。如何使用nsurlconnection发送post请求

什么,我woundering是如何发送POST请求我的分贝喜欢你做的ASIFormDataRequest如下图所示

//This sets up all other request 
     ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 

     [request setDelegate:self]; 
     [request setValidatesSecureCertificate:NO]; 
     [request setPostValue:@"ClientDataSet.xml" forKey:@"filename"]; 
     [request startSynchronous]; 

即如何做的的NSURLRequest类发送setPostValues? 任何帮助将不胜感激

回答

5

使用NSURLRequest比使用ASIHTTPRequest稍微困难。你必须建立你自己的帖子正文。

NSData *postBodyData = [NSData dataWithBytes: [postBodyString UTF8String] length:[postBodyString length]]; 
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:yourURL]; 
[request setHTTPMethod: @"POST"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"]; 
[request setHTTPBody:postBodyData]; 
+0

太棒了!我可以看到你在那里做什么..多数民众赞成薄荷..关于postBodyString是UTF8String ..其中一个要求是我发送utf8格式的数据,但没有领先的utf8前缀? – 2012-02-22 01:29:03

+0

'postBodyString'本身不是'UTF8String'。它只被转换为一个。 – fscheidl 2012-02-22 01:31:52

+0

好的非常感谢那个代码示例..这非常有帮助。 – 2012-02-22 01:39:01