0

我正在尝试制作一个本质上类似于代理服务器的 iOS 应用程序。它有一个UIWebview像 Safari 一样显示内容的功能。但是,我想要做的是让所有数据流量都来自外部 IP 地址和端口,例如此处建议的那些:http: //hidemyass.com/proxy-list/

我当前的代码只是以下简单代码:

NSString *fullURL = @"http://www.google.com";
NSURL *url = [NSURL URLWithString:fullURL];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[self.webView loadRequest: request];

假设我有 IP 地址:177.101.8.13 和端口:8080 - 我如何在上面的代码中实现它,以便请求来自该服务器,而不是我当前所在的服务器/网络?我看了看,ASIHTTPRequest但看不到在这种情况下如何实现...

谢谢!

*(对不起我的术语)

4

1 回答 1

0

如果您在设备的设置中设置了代理服务器,NSURLConnection则会自动使用代理服务器。否则,您必须重写请求。

所有通过代理服务器的请求都使用 HTTP 1.1。您在请求中使用代理服务器的 IP 地址,但在 Host 标头中,您发送的是您尝试访问的实际主机。如果端口不是 80,则将端口包含在 Host 标头中。

使用NSMutableURLRequestssetValue:forHTTPHeaderField:方法来设置特定的标头。

requestNSMutableURLRequest在哪里:

[request setValue:@"google.com" forHTTPHeaderField:@"Host"];
于 2013-06-25T13:00:04.297 回答