如何发送角色"&"通过HTTP POST到iOS 7服务器?

时间:2014-07-11 08:16:35

标签: ios utf-8

我想通过http发送一些数据从我的应用程序发送到服务器。除&

外,服务器可以接受所有符号
  1. 服务器是php;
  2. content-type是application / x-www-form-urlencoded,charset是utf-8。
  3. 编码为NSUTF8StringEncoding
  4. 我还尝试使用URLEncoding更改&,即& - > %26。服务器可以接收它,但无法显示它。它显示在%26,而不是&

    但是,如果服务器是由android或web端发送的,服务器可以正常接收和显示。

    代码如下:

    NSMutableURLRequest *postRequest = [NSMutableURLRequest  requestWithURL:[NSURL URLWithString:@"xxx.com/server.php"]];
    
    postRequest.HTTPMethod = @"POST";
    
    [postRequest setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
    
    NSString *bodyString = [NSString stringWithFormat:@"data=&&&&"];   
    
    postBody = [bodyString dataUsingEncoding:NSUTF8StringEncoding];
    
    NSURLConnection *postConnect = [[NSURLConnection alloc]initWithRequest:postRequest delegate:self];       
    

2 个答案:

答案 0 :(得分:0)

希望这可以帮助你

 NSString *encodedString = [myString stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];

它不会替换你的字符串内联;它会返回一个新字符串。这个方法以“" string"”开头的事实暗示了这一点。它是一种基于当前NSString实例化NSString新实例的便捷方法。

注意 - 新字符串将自动发布,所以当您完成后,请不要在其上发布电子邮件。

答案 1 :(得分:0)

应该是功能

(NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)url, NULL, (CFStringRef)@"&", kCFStringEncodingUTF8))