【问题标题】:Sending post request does not send post body to server发送帖子请求不会将帖子正文发送到服务器
【发布时间】: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


    【解决方案1】:

    答案与型号无关。它与作为参数传递给服务器的电话名称有关。该名称包含一个撇号,就像 Mike 的 iPhone 中一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-18
      • 2016-03-29
      • 2019-04-26
      • 2015-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多