Android Http post-获得与结果相同的网站
我试图编写一个应用程序,将表单发布到一个网站,然后得到一个结果,该结果稍后将在Jsoup中使用,但每次运行该应用程序时,我都会得到相同的网站作为结果。 网站: 我以此为例: 我在这个网站的某个地方看到,你必须对url进行操作,但这也不起作用 我的应用程序的一部分:Android Http post-获得与结果相同的网站,android,http,apache-commons-httpclient,Android,Http,Apache Commons Httpclient,我试图编写一个应用程序,将表单发布到一个网站,然后得到一个结果,该结果稍后将在Jsoup中使用,但每次运行该应用程序时,我都会得到相同的网站作为结果。 网站: 我以此为例: 我在这个网站的某个地方看到,你必须对url进行操作,但这也不起作用 我的应用程序的一部分: protected String doInBackground(String... params) { String url = "http://www.ap-ljubljana.si/vozni_red2/VR1.
protected String doInBackground(String... params) {
String url = "http://www.ap-ljubljana.si/vozni_red2/VR1.php";
HttpPost post = new HttpPost(url);
List<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair("VSTOP_IME", vhod));
parameters.add(new BasicNameValuePair("IZSTOP_IME", izhod));
try {
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(parameters);
HttpClient client = new DefaultHttpClient();
post.setEntity(entity);
HttpResponse response = client.execute(post);
html_response = EntityUtils.toString(response.getEntity());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
从更改您的url
String url = "http://www.ap-ljubljana.si/vozni_red2/VR1.php/";
到
删除字符串动作
就这些
action参数用于告诉“表单”将数据发布到哪个url。如果操作参数为空或缺失,则表单将发布到与其页面相同的url。为什么这样做?我的意思是表单在VR1.php页面上。如果我在浏览器上打开VR2.php页面,我会得到一个完全不同的页面。如果你在普通浏览器中打开VR2.php,那么这个方法不是POST。这更像是一个没有参数的get。php脚本可以为您提供任何它想要的东西。事实上,这是在VR1.php上实现的。但是你的应用程序不必调用这个脚本,因为你的应用程序很好,你已经知道有这样那样的输入字段。如果在普通浏览器中打开VR1.php,请填写并单击按钮,然后浏览器将发布到脚本VR2.php。这就是为什么你的应用程序也必须这样做。脚本将“看到”有一个帖子。阅读名称-值对,然后决定生成哪个html。使用VSTOP\u IME和ISTOP\u IME。您知道有第三个输入数据吗?在我的语言中,数据的意思是日期。如果不输入,它将采用当前日期。当然,我知道这是一个日期。我唯一担心的是这是强制性的。你漏掉了…哦,对不起。现在,我只是把它留白,它工作了。我会在将来添加它。如果它不起作用,那么它不是强制性的。
String url = "http://www.ap-ljubljana.si/vozni_red2/VR2.php";