Ios 将用户代理标头添加到映像下载请求
我遇到了一个问题,服务器配置的更改意味着我使用Ios 将用户代理标头添加到映像下载请求,ios,webclient,user-agent,mvvmcross,Ios,Webclient,User Agent,Mvvmcross,我遇到了一个问题,服务器配置的更改意味着我使用MvxImageViewLoader下载图像的所有尝试都被重定向,直到最终放弃。经过大量的烦恼之后,我们终于发现http请求中缺少用户代理头是罪魁祸首。因此,有两个问题: 1) 尽管加载失败,但MvxImageViewLoader和设置ErrorImagePath产生的错误不会导致显示错误图像。这似乎是错误的。我至少希望调试器中出现错误消息 2) 是否有一种简单的方法来添加用户代理头?在查看下载缓存插件的源代码后,我创建了自己版本的MvxHttpFi
MvxImageViewLoader
下载图像的所有尝试都被重定向,直到最终放弃。经过大量的烦恼之后,我们终于发现http请求中缺少用户代理头是罪魁祸首。因此,有两个问题:
1) 尽管加载失败,但MvxImageViewLoader和设置ErrorImagePath
产生的错误不会导致显示错误图像。这似乎是错误的。我至少希望调试器中出现错误消息
2) 是否有一种简单的方法来添加用户代理头?在查看下载缓存插件的源代码后,我创建了自己版本的MvxHttpFileDownloader
,该版本与原始版本完全相同,只是它创建了自己版本的MvxFileDownloadRequest
,该版本与原始版本完全相同,除了在启动请求之前添加用户代理头之外。然后在AppDelegate
中注册我的MvxHttpFileDownloader
版本,替换(我假设)原始版本。这似乎有点笨手笨脚。有没有更简单的方法
ErrorImagePath
的bug,请将其登录(最好使用复制示例)imvxmagehelper
提供替代实现来替代
在内部,该模块还为开发人员提供了一些灵活性:
- 通过接口-例如,具有覆盖单个部件的能力-例如,
可以完全按照问题中所述覆盖MvxHttpFileDownloader
- 通过一些缓存常量的配置选项李>
Image
控制下载的替代品,两者提供的定制挂钩比当前的DownloadCache更少
如果有人们需要的有用的添加,那么当然可以请求这些添加(或者构建并作为拉请求发送),这些添加可能会包含在未来的库版本中
或者,开发人员也可以构建替代实现——特别是使用特定于平台的网络堆栈或使用新的HttpClient网络库,这可能会克服MonoTouch Http堆栈的一些缺陷Stuart棘手的部分是,您可以覆盖
MVxHTPFiledownloader
,但是MVxHTPFiledownloader
是硬编码的,以使用MvxFileDownloadRequest
(而不是通过IoC获取内容),因此我必须重新实现这两个功能,只需在MvxFileDownloadRequest
中添加一行即可。