我是 Android 编程的新手,我尝试将一些登录数据提交给一个。 aspx 页面用于通过 POST 方法进行验证,我注意到 .aspx 页面无法从我的 android 应用程序读取 HttpPost 数据。 2 我试图将我的数据提交到 .asp 页面,该页面能够使用相同的代码读取数据,除了更改其中的 URL,第二。我还创建了一个简单的 html 文件来将数据提交到 .aspx 页面,读取 POST 方法数据似乎没有问题,所以现在我不知道这里出了什么问题。
DefaultHttpClient client = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.mydomain.com/login.aspx");
httppost.addHeader("Content-type", "application/x-www-form-urlencoded");
List<BasicNameValuePair> nvps = new ArrayList<BasicNameValuePair>();
nvps.add(new BasicNameValuePair("strEmail", username));
nvps.add(new BasicNameValuePair("strPassword", password));
try {
UrlEncodedFormEntity p_entity = new UrlEncodedFormEntity(nvps, HTTP.UTF_8);
httppost.setEntity(p_entity);
HttpResponse response = client.execute(httppost);
........
........
aspx 页面基本上什么都不做,它只是通过 Request.Form("strEmail") 和 Request.Form("strPassword") 获取数据并将其与数据库进行比较,然后传回 XML 结果页面。那么有人知道那里缺少什么吗?
最佳答案
您还需要定义 4 个 nameValuePair。
事件验证 View 状态 登录.x 登录.y
(登录 x 和 y 的名称可能不同)
使用 Tamper Data(Firefox 插件)之类的工具来分析表单帖子。
关于从 android 提交时,Asp.net 页面无法读取 Http Post 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6275830/