如何使用AFNetworking通过iPhone模拟器中的VPN IP地址进行连接?

qua*_*ato 10 objective-c ios afnetworking

- (NSString *)baseURL 从文件中提取String.

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];
}];
Run Code Online (Sandbox Code Playgroud)

(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 }

我可以通过终端中的VPN连接到1.2.3.4,但不能通过AFNetworking连接到1.2.3.4.我试过1.2.3.4和 https://1.2.3.4.

我有

[AFHTTPRequestOperationManager manager].securityPolicy.allowInvalidCertificates = YES;
Run Code Online (Sandbox Code Playgroud)

在我的应用程序代表中.

如何通过AFNetworking连接到此IP?

编辑:验证证书链的重点.

我禁用了它并验证了域名 AFSecurityPolicy.m

确认db)po [AFHTTPRequestOperationManager manager].securityPolicy.SSLPinningMode AFSSLPinningModeNone也留在None上.

qua*_*ato 0

所以我找到了解决方案。那是港口。cURL 会自动找到正确的端口,但 NSURLconnection 却不能。我必须指定

https://1.2.3.4:12345作为我的网址。(我电脑的IP)

在我的机器上我运行

socat TCP-LISTEN:12345,fork TCP:5.6.7.8:12345(其中5.6.7.8是服务器IP)