发送帖子请求不会将帖子正文发送到服务器

时间:2011-02-08 14:25:19

标签: iphone cocoa-touch http post

我有以下代码用于将数据发布到远程服务器:

NSString *urlStr = [[NSString alloc] initWithFormat: @"http://www.myserver.com/%@",program ];
    NSString *postBody =[[NSString alloc] initWithFormat:@"uid=%@",parms]; 
    NSMutableURLRequest *request;
    NSData *postData = [postBody dataUsingEncoding:NSISOLatin1StringEncoding];
    NSError *error;
    NSURLResponse *response;
    NSData *dataReply;

    request = [NSMutableURLRequest requestWithURL: [NSURL URLWithString:urlStr]];
    [request setHTTPMethod: @"POST"];
    [request setHTTPBody:postData]; 

    dataReply = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    serverResponse = (NSString *)[[NSString alloc] initWithData:dataReply encoding:NSUTF8StringEncoding];
    [postBody release];
    [urlStr release];

程序是在服务器上运行的php程序。 parms是以格式发布的字符串:

\ntoken=12345

问题在于:这可以从模拟器中正常工作。它在我的3gs开发手机上工作正常。它在我通过电子邮件发送应用程序的测试版3g手机上运行良好。它在另一个beta测试者的iPhone 4上运行不正常(通过电子邮件发送给他完全相同的配置文件和ipa文件)。 POST调用是从iPhone 4到服务器,但没有传递邮件正文。我将每个调用记录到服务器上的服务器上。邮政机构有3gs手机,而不是4手机。 Apache日志中没有生成错误。

我需要考虑的两种手机型号之间有什么区别吗?我尝试过具有相同行为的http和https访问。我目前无法访问iPhone 4,因此任何见解都将是一个很大的帮助。

1 个答案:

答案 0 :(得分:0)

答案与模型无关。它与手机的名称有关,该名称作为参数传递给服务器。该名称包含Mike的iPhone中的撇号。