Android - URLConnection 的默认用户代理?

Posted

技术标签:

【中文标题】Android - URLConnection 的默认用户代理?【英文标题】:Android - Default user agent for URLConnection? 【发布时间】:2013-01-05 04:31:58 【问题描述】:

我正在使用此代码创建常规 HTTP 连接:

URLConnection cn = new URL( "http://...." ).openConnection();
cn.connect();

如何找到我的 HTTP 连接的默认用户代理?我尝试使用以下代码,但它们都返回 null:

Log.d("My app", "User agent = " + cn.getRequestProperties().get("User-Agent"));
Log.d("My app", "User agent = " + cn.getHeaderField("User-Agent"));

【问题讨论】:

【参考方案1】:

默认用户代理为空,因为标头默认为空。您必须手动设置它:

cn.setRequestProperty("User-Agent","your user agent");

【讨论】:

【参考方案2】:

使用默认用户代理:

URLConnection cn = new URL("http://....").openConnection();
cn.setRequestProperty("User-agent", System.getProperty("http.agent"));
cn.connect();

【讨论】:

以上是关于Android - URLConnection 的默认用户代理?的主要内容,如果未能解决你的问题,请参考以下文章

Android URLConnection发送Get请求 HttpGet封装

android开发笔记之网络编程—使用HTTP进行网络编程

带有 URLConnection 和 getInputStream 的 IOException

Android HttpURLConnection的使用

URLConnection 或 HTTPClient:哪个提供更好的功能和更高的效率?

Android、HttpURLConnection、PUT 和 Authenticator