如何将多个数据发布到Web服务器

时间:2012-05-22 21:10:06

标签: iphone ios

我有以下代码将数据发布到Web服务器,但它给我null响应,我有多个数据,它们是: -

date,
 rig,
 driller,
 offsider-1,
 offsider-2,
 shift
,
project,
supervisoremail,
geologistemail,

comments,


plants[0][name-id],
plants[0][start-usage],
plants[0][end-usage],

consumables[0][category],
consumables[0][name-id],
consumables[0][used],
consumables[0][code],
consumables[0][description], 

我必须发布这些数据,我使用此代码发布,但它对我不起作用。请帮帮我。

NSURL *url=[NSURL URLWithString:@"http://www.mydor.com.au/staff/dor/idorInsert"];
    NSString *post =[[NSString alloc]initWithFormat:@"date=15/08/2012&rig=53&driller=207&offsider-1=131&offsider- 2=236&shift=day&project=24&supervisoremail=24&geologistemail=24&comments=&plants[0][name- id]=286&plants[0][start-usage]=1.0&plants[0][end-usage]=0.0"];
    NSLog(post);
    NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

    NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
    [request setURL:url];
    [request setHTTPMethod:@"POST"];
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    [request setHTTPBody:postData];
    [NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]];

    NSError *error;
    NSURLResponse *response;
    NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    NSLog(@"here u re");
    NSString *data=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
    NSLog(@"here also called");
    NSLog(@"%@",data)

提前致谢。

2 个答案:

答案 0 :(得分:0)

这篇文章演示了如何使用iOS应用程序使用.NET Web服务。您可以使用文章中讨论的技术:

http://www.highoncoding.com/Articles/809_Consuming__NET_Web_Services_in_an_iOS_Application.aspx

答案 1 :(得分:0)

我所做的几乎所有工作都涉及.NET和iOS。查看我编写的网络类here并一直使用(基于AFNetworking)。我更喜欢使用常规的aspx表单而不是asmx web服务。我这样做是因为我不想暴露任何网络方法来窥探访问者,我在返回aspx表单中的任何内容之前使用API​​密钥检查。如果你需要我,我可以给你发一个.NET代码示例(用VB.NET编写)。