通过研究我发现,我可以使用 HttpPost 将信息发送到服务器,所以我有。
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://portal.sibt.nsw.edu.au/Default.asp");
我有两个 EditText 字段来保存用户 ID 和密码,以及一个用于登录的按钮。
EditText id ;
EditText pword ;
Button logIn ;
List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(2);
nameValuePair.add(new BasicNameValuePair("UserID", id.getText().toString()));
nameValuePair.add(new BasicNameValuePair("Password", pword.getText().toString()));
post.setEntity(new UrlEncodedFormEntity(nameValuePair));//already inside a try/catch() block
new getResponse().execute()
// in AsyncTask
public abstract class getResponse extends AsyncTask<Void, Void, Void>{
public String doInBackground(){
try {
HttpResonse response = client.execute(post);
String responseContent = EntityUtils.toString(response.getEntity());
Log.d("response to string", responseContent);
}/...
现在在 LogCat 我看到这个“ https://portal.sibt.nsw.edu.au/Default.asp ”的html,但是,当使用 System.out.println(post.getEntity()); 检查实体时 我得到“org.apache.http.client.entity.UrlEncodedFormEntity@41237c10”但是我没有得到我应该得到的页面,这是登录后的页面,而是得到“post”的HTML。我究竟做错了什么。
注意:在 4.1.2 中编译