Ios 将base64字符串与NSURLConnection一起使用
我正在使用NSURLConnect调用,当我的查询字符串中有空格时,我会得到不受支持的URL。为了解决这个问题,我将字符串转换为base64,但仍然会出现错误。如何通过NSUrlConnect成功发送base64字符串?如果这不可能,如何安全地发送带有空格的字符串Ios 将base64字符串与NSURLConnection一起使用,ios,base64,nsurlconnection,Ios,Base64,Nsurlconnection,我正在使用NSURLConnect调用,当我的查询字符串中有空格时,我会得到不受支持的URL。为了解决这个问题,我将字符串转换为base64,但仍然会出现错误。如何通过NSUrlConnect成功发送base64字符串?如果这不可能,如何安全地发送带有空格的字符串 NSData *convertData = [queryWS dataUsingEncoding: NSUnicodeStringEncoding]; queryWS = [convertData base64EncodedStrin
NSData *convertData = [queryWS dataUsingEncoding: NSUnicodeStringEncoding];
queryWS = [convertData base64EncodedStringWithOptions:kNilOptions];
NSURLRequest *urlRequest =
[NSURLRequest requestWithURL:[NSURL URLWithString:queryWS]];
NSURLResponse *response = nil;
NSError *error = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:urlRequest
returningResponse:&response
error:&error];
if (!error) {
responseDictionary =
[NSJSONSerialization JSONObjectWithData:data
options:0
error:&parseError];
您不希望将URL字符串转换为base64编码。您想要的是正确地转义URL中的任何特殊字符。如果您只需要支持iOS 9或更高版本,请参阅
NSString-byaddingpercentescapesusingencoding:
方法或NSString-byaddingpercentencodingwithallowedcharacters:
NSString *queryString = @"SOME_QUERY_STRING";
NSString *encodedQueryString = [queryString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];