Как подключиться через IP-адрес VPN в iPhone Simulator, используя AFNetworking?
- (NSString *)baseURL
вытаскивает строку из файла.
NSString *endpoint = @"/authentication.json";
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSString *token = @"mytokenvalue"
[manager.requestSerializer setValue:token forHTTPHeaderField:TOKEN_HEADER];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
NSString *path = [NSString stringWithFormat:@"%@%@", [self baseURL], endpoint];
[manager POST:path
parameters:nil
success:^(AFHTTPRequestOperation *operation, id responseObject) {
if (operation.response.statusCode == 200) {
[self.delegate validated:true];
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
[self.delegate validated:false];
}];
(lldb) po error Error Domain = NSURLErrorDomain Code = -1012 "Операция не может быть выполнена. (NSURLErrorDomain error -1012.)" UserInfo = 0x7bf3ed90 {NSErrorFailingURLKey = https://1.2.3.4/authentication.json, NSErrorFailingURLStringKey = https://1.2.3.4/authentication.json}
Я могу подключиться к 1.2.3.4 через VPN в моем терминале, но не через AFNetworking. Я пробовал 1.2.3.4 и
https://1.2.3.4.
У меня
[AFHTTPRequestOperationManager manager].securityPolicy.allowInvalidCertificates = YES;
В моем делете приложения.
Как подключиться к этому IP через AFNetworking?
EDIT: Отличная точка проверки цепочки сертификатов.
Я отключил это и проверял имя домена в AFSecurityPolicy.m
Подтверждено, что db) po [AFHTTPRequestOperationManager manager].securityPolicy.SSLPinningMode
AFSSLPinningModeNone
также оставлено на None.
Ответы
Ответ 1
Итак, я нашел решение. Это был порт. cURL автоматически находил правильный порт, но NSURLconnection не был. Я должен был указать
https://1.2.3.4:12345
как мой URL. (мой компьютер IP)
На моей машине я запустил
socat TCP-LISTEN:12345,fork TCP:5.6.7.8:12345
(где 5.6.7.8 - IP-адрес сервера)