我在使用 AFNetworking 和 HTTP 代理设置时遇到了一些问题。由于 AFNetworking 是基于 NSURLConnection 构建的,它是否具有对 iPad / iPhone wifi 设置中添加的 HTTP 代理的内置支持?或者我是否必须在构建我的 URL 以支持代理时以编程方式执行某些操作?
谢谢,
泰加
我在使用 AFNetworking 和 HTTP 代理设置时遇到了一些问题。由于 AFNetworking 是基于 NSURLConnection 构建的,它是否具有对 iPad / iPhone wifi 设置中添加的 HTTP 代理的内置支持?或者我是否必须在构建我的 URL 以支持代理时以编程方式执行某些操作?
谢谢,
泰加
AFNetworking / iOS 7 更新:如果您使用 *session 而不是 *requestoperation 接口,您可以使用[NSURLSessionConfiguration -connectionProxyDictionary]
.
因此,似乎 NSURLConnection / AFNetworking 只支持开箱即用的 HTTP 基本身份验证。如果代理使用 NTLM 身份验证,则在 wifi 设置中设置身份验证适用于 Safari,但不适用于任何其他应用。(测试 Foursquare、Facebook 等)。但是,当您第一次启动 Safari 时,即使您在 iPad 上的 wifi 设置中指定了用户名/密码,您也会收到一个弹出窗口,要求您输入用户名/密码。在此处输入它们后,Safari 一切正常。
作为 iOS5 的一部分提供的 NSURLRequest 委托方法应该在代理发出身份验证质询时被调用。但是这些再也没有被调用过。不确定这是错误行为还是我设置不正确。
由于它是基于 构建的NSURLConnection
,因此它可以正常工作。您可以使用Charles Proxy轻松尝试。