【发布时间】:2011-02-08 14:25:18
【问题描述】:
我有以下代码用于将数据发布到远程服务器:
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];
program 是要在服务器上运行的 php 程序。 parms 是要发布的字符串,格式为:
\ntoken=12345
这是问题所在:这在模拟器上运行良好。它在我的 3gs 开发手机上运行良好。它在我通过电子邮件发送应用程序的 Beta 测试人员的 3gs 手机上运行良好。它在另一个 beta 测试人员的 iPhone 4 上无法正常工作(通过电子邮件将完全相同的配置文件和 ipa 文件通过电子邮件发送给他)。 POST 调用是从 iPhone 4 向服务器发出的,但没有传递任何帖子正文。我在服务器上记录对服务器的每个调用。柱体适用于 3gs 手机,而不适用于 4 手机。 Apache 日志中没有生成错误。
我需要考虑的两种手机型号之间是否存在一些差异?我已经尝试过具有相同行为的 http 和 https 访问。我目前无法使用 iPhone 4,因此任何见解都会有很大帮助。
【问题讨论】:
标签: iphone cocoa-touch http post