Java HttpURLConnection post方法不工作
我正在使用HttpURLConnection通过POST向服务器发送数据。我设置标题,然后获取输出流并写入一些字节,然后关闭输出流 我正试图从给定的url获取下一页的日程安排详细信息。但有些人认为我没有得到结果。如果您知道此代码中存在任何问题,请帮助任何人Java HttpURLConnection post方法不工作,java,post,httpurlconnection,Java,Post,Httpurlconnection,我正在使用HttpURLConnection通过POST向服务器发送数据。我设置标题,然后获取输出流并写入一些字节,然后关闭输出流 我正试图从给定的url获取下一页的日程安排详细信息。但有些人认为我没有得到结果。如果您知道此代码中存在任何问题,请帮助任何人 我得到的是错误的第一页,而不是第二页。 “您选择的车站组合无效。请致电(718)217-5477向LIRR旅行信息中心咨询更多信息。” 您缺少index.php和参数之间的“?”。您缺少index.php和参数之间的“?”。您应该 Strin
我得到的是错误的第一页,而不是第二页。 “您选择的车站组合无效。请致电(718)217-5477向LIRR旅行信息中心咨询更多信息。” 您缺少index.php和参数之间的“?”。您缺少index.php和参数之间的“?”。您应该
String urlParameters=“FromStation=56&ToStation=8&RequestDate=08/24/2013&RequestTime=01:00&RequestAMPM=PM&sortBy=1&schedules=schedules”;
进入
String urlParameters=“?FromStation=56&ToStation=8&RequestDate=08/24/2013&RequestTime=01:00&RequestAMPM=PM&sortBy=1&schedules=schedules”;
您应该
String urlParameters=“FromStation=56&ToStation=8&RequestDate=08/24/2013&RequestTime=01:00&RequestAMPM=PM&sortBy=1&schedules=schedules”;
进入
String urlParameters=“?FromStation=56&ToStation=8&RequestDate=08/24/2013&RequestTime=01:00&RequestAMPM=PM&sortBy=1&schedules=schedules”;
此方法可能会对您有所帮助。它强制连接真正建立连接。
也许你想使用ApacheHttpClient让你的生活更轻松 此方法可能会对您有所帮助。
它强制连接真正建立连接。
您可能想使用Apache HttpClient使您的生活更轻松…您得到了什么结果?你应该把它贴出来。我得到的是有错误的第一页,而不是第二页。“您选择的车站组合无效。请致电(718)217-5477向LIRR旅行信息中心咨询更多信息。”您得到了什么结果?你应该把它贴出来。我得到的是有错误的第一页,而不是第二页。“您选择的车站组合无效。请致电(718)217-5477向LIRR旅行信息中心咨询更多信息。“这是邮寄请求,因此我们不需要填写”?”。但我还是尝试了这种方法,并给出了同样的错误。thanx。这是post请求,所以我们不需要放“?”。但我还是尝试了这种方法,并给出了同样的错误。thanx.我是按照建议那样做的,但没用。我尝试了Fiddler Web Debugger(v2.4.5.0)并提交了请求,它工作正常。我不知道java代码出了什么问题。这是我按照建议做的,但它不起作用。我尝试了Fiddler Web Debugger(v2.4.5.0)并提交了请求,它工作正常。我不知道java代码出了什么问题。
public static void main(String[] args) throws Exception {
String url = "http://lirr42.mta.info";
String cookie = retrieveCookies(url);
String urlParameters = "FromStation=56&ToStation=8&RequestDate=08/24/2013&RequestTime=01:00&RequestAMPM=PM&sortBy=1&schedules=schedules";
String page = postHttpPage(url + "/index.php", urlParameters, cookie);
System.out.println(page);
System.out.println();
}
public static String postHttpPage(String url, String urlParameters, String cookie) throws Exception {
System.out.println("\nSending 'POST' request to URL : " + url);
URL obj = new URL(url);
HttpURLConnection conn = (HttpURLConnection) obj.openConnection();
return postPage(conn, urlParameters, cookie);
}
private static String postPage(HttpURLConnection conn, String urlParameters, String cookie) throws Exception {
conn.setRequestMethod("POST");
conn.setRequestProperty("User-Agent", "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Length", String.valueOf(urlParameters.getBytes().length));
conn.setRequestProperty("Content-Language", "en-US");
conn.setRequestProperty("Cookie", cookie);
//conn.setInstanceFollowRedirects(true);
// Send post request
//conn.setDoInput(true);
conn.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
wr.writeBytes(urlParameters);
//System.out.println("wr : " + wr.size());
wr.flush();
wr.close();
StringBuffer response = new StringBuffer();
int responseCode = conn.getResponseCode();
System.out.println("Post parameters : " + urlParameters);
System.out.println("Response Code : " + responseCode);
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
return response.toString();
}
public static String retrieveCookies(String url) throws IOException{
URL obj = new URL(url);
HttpURLConnection conn = (HttpURLConnection) obj.openConnection();
String cookies=conn.getHeaderField("Set-Cookie");
System.out.print("cookies: " + cookies);
conn.disconnect();
return cookies;
}
HttpURLConnection.getResponseCode();