美文网首页
使用AFNetworking访问HTTP接口,怎么使用自己的加密

使用AFNetworking访问HTTP接口,怎么使用自己的加密

作者: 芋头CF | 来源:发表于2017-11-04 12:14 被阅读9次

公司安全部开发了新的加密模块,要求公司所有HTTP访问接口均使用该加密模块,手里一个app还使用明文访问方式,所以,改吧。
app使用了AFNetworking访问HTTP,并且很多模块使用了该库,加密方法也不相同,所以,不能修改库源码添加加密代码。研究了一下,发现也很简单,只需要设置一下,就OK了,上代码:

_afManager = [AFHTTPSessionManager manager];
_afManager.operationQueue.maxConcurrentOperationCount = 100;
// 这里要使用AFHTTPRequestSerializer,如果使用AFJSONRequestSerializer,则不会调用下面设置的block。
_afManager.requestSerializer = [AFHTTPRequestSerializer serializer];
[_afManager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
_afManager.requestSerializer.timeoutInterval = 20;//设置请求超时时间
[_afManager.requestSerializer didChangeValueForKey:@"timeoutInterval"];
[_afManager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
// 这里设置的block,会被调用,在block里面加密即可
[_afManager.requestSerializer setQueryStringSerializationWithBlock:^NSString * _Nonnull(NSURLRequest * _Nonnull request, id  _Nonnull parameters, NSError * _Nullable __autoreleasing * _Nullable error) {
        NSString *willEncodeStr = [YHLUtil getJsonWithNSDictionary:parameters];
        // 这里添加加密的代码
            
        // 返回已加密的字符串
        return didEncodeStr;
}];

这样设置之后,加密的block就会在创建Request的时候被调用,AFNetworking真蛮好用!

相关文章

网友评论

      本文标题:使用AFNetworking访问HTTP接口,怎么使用自己的加密

      本文链接:https://www.haomeiwen.com/subject/ecufmxtx.html