代码之家  ›  专栏  ›  技术社区  ›  Ron

iPhone Post请求截断字符串

  •  0
  • Ron  · 技术社区  · 14 年前

    当我试图向一个特定的站点发送一个post请求时,我试图发送的字符串会被切断。当我检查xcode中字符串的长度时,它大约有55000个字符长。网站上接收的字符数约为4500。 这是我的代码:

    -(IBAction)convert {
    
    NSString *rosterText = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerHTML"];
    
    NSString *params = [[NSString alloc] initWithFormat:@"roster=%@", rosterText];
    
    NSString *paramsLength = [NSString stringWithFormat:@"%d", [params length]];
    
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://www.thesite/index.php"]];
    
    [request setHTTPMethod:@"POST"];
    
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-type"];
    
    [request setValue:paramsLength forHTTPHeaderField:@"Content-Length"];
    
    [request setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]];
    
    NSLog(@"length = %@",paramsLength);
    
    [webView loadRequest:request]; 
    
    [params release];
    
    [request release];
    

    }

    我在网站上有一个表单,您可以在其中手动插入字符串,并且一切正常,所以在我看来,在post数据的编码中有问题。

    有人知道这里出了什么事吗?只是好像不明白!

    谢谢!

    1 回复  |  直到 14 年前
        1
  •  0
  •   vikingosegundo    14 年前

    我不确定,出了什么问题,但我建议你用 ASIHTTPRequest .

    asihttpRequest是一个易于使用的 包装cfnetwork api 使一些更乏味的方面 与Web服务器通信 更容易的。它是用目标C写的 同时适用于Mac OS X和iPhone 应用。