【发布时间】:2015-05-23 03:58:16
【问题描述】:
我一直在开发一个 android 应用程序,最近使用 HttpClient 使所有登录代码都能正常工作。但是,此代码现已弃用,不再有效。语言摘要建议用HttpURLConnection 对象替换所有HttpClient 代码。我不知道该怎么做。如果有人可以帮助我将我的代码更改为HttpURLConnection 以提交登录表单并检索信息,将不胜感激。这是我原来的使用功能代码:
String u = params[0];
String p = params[1];
DefaultHttpClient client = new DefaultHttpClient();
client.getParams().setParameter(ClientPNames.HANDLE_REDIRECTS,Boolean.TRUE);
//client.setRedirectStrategy(new LaxRedirectStrategy());
HttpPost post = new HttpPost("https://home-access.cfisd.net/HomeAccess/Account/LogOn");
List<NameValuePair> list = new ArrayList<NameValuePair>();
list.add(new BasicNameValuePair("LogOnDetails.Username", u));
list.add(new BasicNameValuePair("LogOnDetails.Password",p));
list.add(new BasicNameValuePair("Database","10"));
HttpResponse response = null;
try{
post.setEntity(new UrlEncodedFormEntity(list));
response = client.execute(post);
}
catch(Exception ex)
{
ex.printStackTrace();
}
【问题讨论】:
-
您可以参考这篇文章使用 HttpUrlConnection 转换您的代码。 mkyong.com/java/how-to-send-http-request-getpost-in-java
-
我尝试研究所有这些想法,但它们都没有让我明白。它们都以响应代码 200 终止,但登录后都不会继续到下一页。还有什么我需要做的或者我缺少的吗?
标签: java android forms httpclient httpurlconnection