webview可以设置请求页面的模式为计算机吗或者自定义useragent

wl****zf UID.685940
2015-10-02 发表

之前发现webview不能正常播放某网站发视频,结果发现webview是以手机的模式去请求页面的,而ie中测试可得知以计算机的模式请求可以正常播放,而以手机的模式请求就不可以,因此想问webview可以设置请求页面的模式为计算机或者自定义useragent吗?原本想用NavigateWithHttpRequestMessage去请求,可是只能使用post。求教谢谢

标签: 计算机

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
vbfool UID.352791
2015-10-02 回复

NavigateWithHttpRequestMessage里边不能设置为Get么?觉得有点那啥。
有个折衷的想法,直接使用HttpClient把页面下载下来,然后使用NavigateToString来加载页面。

qiqiminmin UID.638527
2015-10-03 回复

本帖最后由 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]

我觉得你还是先分析那个网站,他能区分你,是因为网站代码里对你进行里区分。。。( ̄▽ ̄)",你怎么不把那个网站地址告诉我们

wl****zf UID.685940
2015-10-03 回复

Quote***链接停止解析***
你可以多给点信息。。。很多东西可以模仿的。
比如你在ie上登陆时request里header有哪些. ie或者chrome都可 ...


请求的时一段乐视云上的视频,然后浏览器抓包,发现它下载了一堆.ts的文件,大概是视频流吧,用ie的手机模式打开会出现找不到文件的提示

不过我发现QQ的打开网页是以计算机的模式打开的,不知道它是怎么实现的

[DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
这个谷歌上也说了发布以后就失效了,只能debug的时候用,不过正打算试试

谢谢提供了不少方案,我先试试webrequest

wcavell UID.34926
2015-10-03 回复

看图!楼主,我不知道你什么原因
***附件停止解析***
***附件停止解析***

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报