为 mac / iOS 模拟器拦截来自 visual studio xamarin 的网络流量
intercept web traffic from visual studio xamarin for mac / iOS simulator
我对 Visual Studio 或 Xamarin 几乎一无所知。我正在为 Mac 8.9.10 使用 Visual Studio。这不是我的代码,我正在尝试理解它。
此应用向我的服务器 (rails) 发出 REST 请求,我正试图拦截它们。我设置了 iOS 模拟器,以便网络请求可以通过 Proxyman。这适用于模拟器上的 Mobile Safari,或者我自己在 Xcode 中编写的应用程序。因此,我相信我对 Proxyman 的使用和我试图拦截的流量有很好的处理能力。
但是,当我从 Visual Studio Xamarin 构建的应用程序在模拟器中进行网络连接时,Proxyman 中什么也没有出现。起初我认为这可能是因为我使用本地主机服务器进行测试,但对于真正在 Internet 上发出的正常请求也是如此。 Proxyman 似乎根本看不到我的应用程序的流量。
这让我觉得 Visual Studio / Xamarin 本身为网络配置 iOS 应用程序的方式有些奇怪。在那儿? Mac 用户如何在模拟器中拦截来自 Xamarin Visual Studio 构建的 iOS 应用程序的网络流量?
(还有一件事:如果我编写自己的 iOS 应用程序被 Proxyman 拦截,我必须启用 NSArbitraryLoads 才能通过 http 进行通信。但是我的 Visual Studio Xamarin 应用程序没有Info.plist 中没有它;但它可以通过 http 通信。这怎么可能?似乎相关。)
(这可能是相关的:看起来 Xamarin http 请求确实以某种方式逃避了代理?https://forums.xamarin.com/discussion/129748/how-do-i-make-http-requests-using-proxy-settings)
下层网络堆栈本身没有任何尊重系统代理设置的东西;理想情况下,网络框架 应该 ,但 Xamarin 似乎没有。
localhost.proxyman.io
是指向本地主机的 DNS 条目,但它不会通过代理重定向流量。
您需要一个可以充当反向代理的东西 - 一种在客户端看来类似于您的 Web 服务的服务,但会将请求重定向到您的 actual Web 服务。此功能不是 yet available in proxyman。
您可以使用 Charles proxy 作为替代。
我对 Visual Studio 或 Xamarin 几乎一无所知。我正在为 Mac 8.9.10 使用 Visual Studio。这不是我的代码,我正在尝试理解它。
此应用向我的服务器 (rails) 发出 REST 请求,我正试图拦截它们。我设置了 iOS 模拟器,以便网络请求可以通过 Proxyman。这适用于模拟器上的 Mobile Safari,或者我自己在 Xcode 中编写的应用程序。因此,我相信我对 Proxyman 的使用和我试图拦截的流量有很好的处理能力。
但是,当我从 Visual Studio Xamarin 构建的应用程序在模拟器中进行网络连接时,Proxyman 中什么也没有出现。起初我认为这可能是因为我使用本地主机服务器进行测试,但对于真正在 Internet 上发出的正常请求也是如此。 Proxyman 似乎根本看不到我的应用程序的流量。
这让我觉得 Visual Studio / Xamarin 本身为网络配置 iOS 应用程序的方式有些奇怪。在那儿? Mac 用户如何在模拟器中拦截来自 Xamarin Visual Studio 构建的 iOS 应用程序的网络流量?
(还有一件事:如果我编写自己的 iOS 应用程序被 Proxyman 拦截,我必须启用 NSArbitraryLoads 才能通过 http 进行通信。但是我的 Visual Studio Xamarin 应用程序没有Info.plist 中没有它;但它可以通过 http 通信。这怎么可能?似乎相关。)
(这可能是相关的:看起来 Xamarin http 请求确实以某种方式逃避了代理?https://forums.xamarin.com/discussion/129748/how-do-i-make-http-requests-using-proxy-settings)
下层网络堆栈本身没有任何尊重系统代理设置的东西;理想情况下,网络框架 应该 ,但 Xamarin 似乎没有。
localhost.proxyman.io
是指向本地主机的 DNS 条目,但它不会通过代理重定向流量。
您需要一个可以充当反向代理的东西 - 一种在客户端看来类似于您的 Web 服务的服务,但会将请求重定向到您的 actual Web 服务。此功能不是 yet available in proxyman。
您可以使用 Charles proxy 作为替代。