相关疑难解决方法(0)

在ObjectiveC中从NSDictionary对象创建URL查询参数

由于所有的URL处理对象都位于标准的Cocoa库(NSURL,NSMutableURL,NSMutableURLRequest等)中,我知道我必须忽略一种以编程方式编写GET请求的简单方法.

目前我手动追加"?" 后跟由"&"连接的名称值对,但我的所有名称和值对都需要手动编码,因此NSMutableURLRequest在尝试连接到URL时不会完全失败.

这感觉就像我应该能够使用预先出炉的API ......是否有任何开箱即可将查询参数的NSDictionary附加到NSURL?我还有另一种方法吗?

objective-c nsurl

89
推荐指数
6
解决办法
7万
查看次数

正确桥接ARC?

我有一个NSString的类别类.

@implementation NSString (URLEncode)

- (NSString *)URLEncodedString
{
    __autoreleasing NSString *encodedString;

    NSString *originalString = (NSString *)self;    
    encodedString = (__bridge_transfer NSString * )
            CFURLCreateStringByAddingPercentEscapes(NULL,
                                (__bridge CFStringRef)originalString,
                                NULL,
                                (CFStringRef)@"!*'();:@&=+$,/?%#[]",
                                kCFStringEncodingUTF8);
    return encodedString;
}
Run Code Online (Sandbox Code Playgroud)

我是否使用ARC和新LLVM的正确桥接传输?

原始代码:

- (NSString *)URLEncodedString
    NSString *encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
                                (CFStringRef)self,
                                NULL,
                                (CFStringRef)@"!*'();:@&=+$,/?%#[]",
                                kCFStringEncodingUTF8);
    return [encodedString autorelease];
}
Run Code Online (Sandbox Code Playgroud)

objective-c automatic-ref-counting

43
推荐指数
2
解决办法
2万
查看次数

用于希伯来字符的IOS HTTP Post编码

我需要从我的iPhone应用程序到谷歌文档进行HTTP发布.它适用于英语,但希伯来语出现了所有???????? 在谷歌文档中.

这就是我正在做的事情:

NSString *post = [Util append:@"&entry.xxxxx=", self.firstName.text, @"&entry.yyyyyyy=", self.phone.text, @"&entry.zzzzzzzz=", self.email.text, nil];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"https://docs.google.com/forms/d/FORM_ID/formResponse"]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];

NSHTTPURLResponse* urlResponse = nil;
NSError *error = [[NSError alloc] init];
[NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

编辑:我试过这里提供的解决方案,看看ahmedalkaf的链接,但没有运气.

objective-c urlencode http-post

8
推荐指数
1
解决办法
2932
查看次数