我想问一下HTTP请求标头中的User-Agent属性是否只通过浏览器发送?
当我从黑莓应用程序发送http / https请求时,似乎http头中没有包含用户代理。
非常感谢!
此外,如果无法从请求中获取用户代理,我们是否能够从Blackberry设备获取用户代理?
谢谢!
答案 0 :(得分:3)
不,如果您在应用程序中使用javax.microedition.io.HttpConnection,则不会自动发送User-Agent。
相反,使用
HttpConnection con = (HttpConnection)Connector.open(myURL,
Connector.READ_WRITE, true);
con.setRequestProperty(HttpProtocolConstants.HEADER_USER_AGENT,
"MyBlackberryApplication/1.0");
...
如果您需要有关要沿代理字符串发送的设备的信息,可以通过BlackBerry API访问所有设备(操作系统版本,设备等):请查看此课程:net.rim.device.api.system.DeviceInfo
答案 1 :(得分:1)
对于未签名的j2me应用程序,您无法设置用户代理,它始终是 UNTRUSTED / 1.0
此行为为Unidentified 域应用程序在。中指定 移动服务架构(JSR 248)规范
答案 2 :(得分:0)
是的,根据Java文档(javax.microedition.io ),似乎除非你设置用户代理,否则不会自动包含用户代理。
申请负责 格式化并请求 User-Agent字段包含在HTTP中 通过setRequestProperty请求 界面中的方法
答案 3 :(得分:0)
将 WTK-Edit-Preference-Security-Security 域中的级别从不受信任调至最高可以帮助解决 http 请求中的“不受信任”用户代理问题。
<块引用>对于未签名的 j2me 应用程序,您无法设置用户代理,并且它将始终为 UNTRUSTED/1.0