【发布时间】:2014-02-19 16:58:02
【问题描述】:
我正在开发一个需要与 API (CloudStack) 通信的 IOS 应用程序。 API 要求每个请求都经过签名。
我需要对参数进行 URL 编码并创建 HMAC SHA1 哈希。在我传递包含加号或冒号的参数之前,一切正常。
所以我猜是我的应用程序的 URL 编码部分不能正常工作。我搜索了几个网站并尝试了提供的解决方案,但没有任何结果。
API 规范之一是所有空格都需要编码为“%20”而不是“+”。
目前我正在使用以下代码对 URL 进行 URL 编码:
-(NSString *)urlenc:(NSString *)val
{
NSString *result = [(NSString *)val stringByReplacingOccurrencesOfString:@"+" withString:@" "];
result = [result stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
return result;
}
我这样调用方法:
[self urlenc@"2014-01-20T14:02:48+0100"]
【问题讨论】:
标签: objective-c api urlencode apache-cloudstack