webview可以设置请求页面的模式为计算机吗或者自定义useragent
之前发现webview不能正常播放某网站发视频,结果发现webview是以手机的模式去请求页面的,而ie中测试可得知以计算机的模式请求可以正常播放,而以手机的模式请求就不可以,因此想问webview可以设置请求页面的模式为计算机或者自定义useragent吗?原本想用NavigateWithHttpRequestMessage去请求,可是只能使用post。求教谢谢
标签: 计算机
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
NavigateWithHttpRequestMessage里边不能设置为Get么?觉得有点那啥。
有个折衷的想法,直接使用HttpClient把页面下载下来,然后使用NavigateToString来加载页面。
本帖最后由 qiqiminmin 于 2015-10-3 05:57 编辑
你可以多给点信息。。。很多东西可以模仿的。
比如你在ie上登陆时request里header有哪些. ie或者chrome都可以分析的,直接打开,里面可以做很多名堂的,不光是mobile和desktop的区别. 你并不需要把一个网站里的东西读出来,分析那个网站的数据,特别是json文件,只要抓住文件,找到视频源头就行了。
列入这样的
***附件停止解析***
直接改webview的user-agent,但你自己还是要查查,到底是什么原因造成移动版和桌面不同,
而且发布软件的时候,也要查查 windows 8.1 或者windows 10 api sets,选择你需要的 .dll,不过刚查了,似乎api sets不包括
[mw_shl_code=csharp,true][DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
private static extern int UrlMkSetSessionOption(int dwOption, string pBuffer, int dwBufferLength, int dwReserved);
const int URLMON_OPTION_USERAGENT = 0x10000001;
public void ChangeUserAgent(string Agent)
{
UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, Agent, Agent.Length, 0);
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
ChangeUserAgent("Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36");
wb.Navigate(new Uri("Url Address", UriKind.Absolute));
}[/mw_shl_code]
还有就是webrequest或者webclient的时候修改了,似乎也奇怪
[mw_shl_code=csharp,true]WebClient client = new WebClient ();
client.Headers.Add ("user-agent", "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36");[/mw_shl_code]
我觉得你还是先分析那个网站,他能区分你,是因为网站代码里对你进行里区分。。。( ̄▽ ̄)",你怎么不把那个网站地址告诉我们
Quote***链接停止解析***
你可以多给点信息。。。很多东西可以模仿的。
比如你在ie上登陆时request里header有哪些. ie或者chrome都可 ...
请求的时一段乐视云上的视频,然后浏览器抓包,发现它下载了一堆.ts的文件,大概是视频流吧,用ie的手机模式打开会出现找不到文件的提示
不过我发现QQ的打开网页是以计算机的模式打开的,不知道它是怎么实现的
[DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
这个谷歌上也说了发布以后就失效了,只能debug的时候用,不过正打算试试
谢谢提供了不少方案,我先试试webrequest