测试已测试 | ✓ |
Lang语言 | Obj-CObjective C |
许可证 | BSD |
发布最新发布 | 2015年12月 |
由 Cody Kimberling 维护。
通过 Cocoapods 安装,在您的 Podfile 中添加一行类似以下的代码:
pod 'CKBasicAuthUrlUtilities', '~> 0.0.6'
然后,使用它,嗯...
CKBasicAuthUrlUtilities urlUtilities = CKBasicAuthUrlUtilities.new;
看看我们能做什么
创建一个未编码的字符串的 NSURL,使用 NSUTF8StringEncoding 对非编码字符串进行百分号转义(如果缺失,则添加默认协议)。如果非编码字符串为 nil,则返回 nil。
- (NSURL *)urlWithUtf8EncodingForString:(NSString *)nonEncodedString;
使用更新后的用户名创建 NSURL,如果需要,则对用户名进行编码(如果缺失,则添加默认协议)。如果 URL 为 nil,则返回 nil。
- (NSURL *)urlWithUpdatedUsername:(NSString *)username forUrl:(NSURL *)url;
使用更新后的密码创建 NSURL,如果需要,则对密码进行编码(如果缺失,则添加默认协议)。如果 URL 为 nil,则返回 nil。
- (NSURL *)urlWithUpdatedPassword:(NSString *)password forUrl:(NSURL *)url;
使用更新后的用户名和密码创建 NSURL,如果需要,则对用户名和密码进行编码(如果缺失,则添加默认协议)。如果 URL 为 nil,则返回 nil。
- (NSURL *)urlWithUpdatedUsername:(NSString *)username andPassword:(NSString *)password forUrl:(NSURL *)url;
移除认证组件的 NSURL。如果 URL 为 nil,则返回 nil。
- (NSURL *)urlWithoutAuthenticationFromUrl:(NSURL *)url;
如果 URL 有 HTTP 或 HTTPS 协议,则返回 YES。如果 URL 为 nil,则返回 NO。
- (BOOL)urlHasHttpOrHttpsScheme:(NSURL *)url;
如果 URL 包含基本认证组件,则返回 YES。如果 URL 为 nil,则返回 NO。
- (BOOL)urlHasAuthentication:(NSURL *)url;
返回不包含认证组件的给定 URL 的绝对字符串表示。如果 URL 为 nil,则返回 nil。
- (NSString *)absoluteStringWithoutAuthenticationForUrl:(NSURL *)url;
返回包含密码混淆的给定 URL 的绝对字符串表示。如果 URL 为 nil,则返回 nil。
- (NSString *)absoluteStringObfuscatedPassword:(NSURL *)url;
从给定 URL 返回基本认证字符串(已编码),如果 URL 不包含 auth 字符串,则返回 nil。如果 URL 为 nil,则返回 nil。
- (NSString *)basicAuthenticationStringWithEncodingForUrl:(NSURL *)url;
从给定 URL 返回基本认证字符串(非编码),如果 URL 不包含 auth 字符串,则返回 nil。如果 URL 为 nil,则返回 nil。
- (NSString *)basicAuthenticationStringWithoutEncodingForUrl:(NSURL *)url;
通过初始化包含提供 URL 的 NSMutableURLRequest 来预发认证回调。如果给定 URL 有认证,则预先将基本认证添加到 URL 请求。这在服务器返回 401 而不是 403 响应,并且标准的 NSURLConnectionDelegate 不会自动调用 willSendRequestForAuthenticationChallenge 时可以使用。如果 URL 为 nil,则返回 nil。
- (NSMutableURLRequest *)urlRequestWithPreemptiveBasicAuthenticationWithUrl:(NSURL *)url;
返回 URL 安全字符串,编码非法字符。如果字符串为 nil,则返回 nil。
- (NSString *)urlSafeStringFromString:(NSString *)string;
如果字符串包含非法的 URL 字符,则返回 YES。如果字符串不包含非法字符或字符串为 nil,则返回 NO。
- (BOOL)doesStringContainIllegalUrlCharacters:(NSString *)string;
如果您的南京市没有URL 方案组件,CKBasicAuthUrlUtilities 将默认自动使用 https,但如果需要,也可以使用 http。这可以在初始化后或创建时通过属性设置。
urlUtils.schemeType = (CKBasicAuthUrlUtilitiesDefaultSchemeType);
或者
urlUtils = [[CKBasicAuthUrlUtilities alloc] initWithDefaultSchemeType:(CKBasicAuthUrlUtilitiesDefaultSchemeType)];
其中 CKBasicAuthUrlUtilitiesDefaultSchemeType
可以是
CKBasicAuthUrlUtilitiesDefaultSchemeTypeHttp
或 CKBasicAuthUrlUtilitiesDefaultSchemeTypeHttps
但是,您在任何情况下都不应该使用基于 HTTP 的基本认证,所以请不要这样做!