【问题标题】:How do I connect over a VPN IP Address in iPhone Simulator using AFNetworking?如何使用 AFNetworking 在 iPhone 模拟器中通过 VPN IP 地址进行连接?
【发布时间】:2015-06-25 21:27:16
【问题描述】:

- (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 错误 错误域=NSURLErrorDomain 代码=-1012“操作无法完成。(NSURLErrorDomain 错误-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 和 https://1.2.3.4.

我有

[AFHTTPRequestOperationManager manager].securityPolicy.allowInvalidCertificates = YES;

在我的应用委托中。

如何通过 AFNetworking 连接到此 IP?

编辑:验证证书链的要点。

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

确认 db) po [AFHTTPRequestOperationManager manager].securityPolicy.SSLPinningMode AFSSLPinningModeNone 也保留为 None。

【问题讨论】:

  • 我没有看到您在代码中设置安全策略的位置。
  • 根据list of error codes,您的身份验证已取消NSURLErrorUserCancelledAuthentication = -1012。所以我会尝试将validatesCertificateChain 设置为NO
  • [AFHTTPRequestOperationManager manager].securityPolicy.allowInvalidCertificates = YES; 电话在哪里?
  • 在 App Delegate 中分配窗口 rootViewController 并调用 makeKeyAndVisible 之前
  • 您可能无法使用模拟器,因为网络接口属于 Mac OS。

标签: ios objective-c afnetworking


【解决方案1】:

所以我找到了解决方案。那是港口。 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)

【讨论】:

    猜你喜欢
    • 2012-03-23
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 2018-08-22
    • 2018-07-09
    • 1970-01-01
    • 2015-02-28
    • 2010-11-20
    相关资源
    最近更新 更多