如何使用 AFNetworking 在 iPhone 模拟器中通过 VPN IP 地址进行连接?
How do I connect over a VPN IP Address in iPhone Simulator using 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 "The operation couldn’t be completed. (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 和
https://1.2.3.4 .
我有
[AFHTTPRequestOperationManager manager].securityPolicy.allowInvalidCertificates = YES;
在我的应用委托中。
如何通过 AFNetworking 连接到此 IP?
编辑:关于验证证书链的要点。
我在 AFSecurityPolicy.m
中禁用了它并验证了域名
已确认 db) po [AFHTTPRequestOperationManager manager].securityPolicy.SSLPinningMode
AFSSLPinningModeNone
也留在 None 上。
所以我找到了解决方案。这是港口。 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)
- (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 "The operation couldn’t be completed. (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 和 https://1.2.3.4 .
我有
[AFHTTPRequestOperationManager manager].securityPolicy.allowInvalidCertificates = YES;
在我的应用委托中。
如何通过 AFNetworking 连接到此 IP?
编辑:关于验证证书链的要点。
我在 AFSecurityPolicy.m
已确认 db) po [AFHTTPRequestOperationManager manager].securityPolicy.SSLPinningMode
AFSSLPinningModeNone
也留在 None 上。
所以我找到了解决方案。这是港口。 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)