如何使用HttpURLConnection在java中通过post发送参数?
我无法使用HttpURLConnection通过java参数中的POST方法发送。我一直在尝试一些方法,做了很多研究,但没有一种方法对我有效。我将留下下面的代码,让您指出可以进行的可能修改如何使用HttpURLConnection在java中通过post发送参数?,java,httprequest,httpresponse,Java,Httprequest,Httpresponse,我无法使用HttpURLConnection通过java参数中的POST方法发送。我一直在尝试一些方法,做了很多研究,但没有一种方法对我有效。我将留下下面的代码,让您指出可以进行的可能修改 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class HttpTeste {
private final String USER_AGENT = "Mozilla/5.0";
public void sendPost(String url) throws Exception {
URL obj = new URL(url);
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
//add request header
con.setRequestMethod("POST");
con.setRequestProperty("User-Agent", USER_AGENT);
con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
String urlParameters = "idRoute=1";
// Send post request
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
int responseCode = con.getResponseCode();
System.out.println("\nSending 'POST' request to URL : " + url);
System.out.println("Post parameters : " + urlParameters);
System.out.println("Response Code : " + responseCode);
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
//print result
System.out.println(response.toString());
}
}
如您所见,我试图通过urlParameters
发送请求的参数,但仍然没有成功。代码运行时不会确认任何错误,但不会返回应返回的响应。
我还尝试通过String urlParameters=urlcoder.encode(“idRoute”,“UTF-8”)+“=”+urlcoder.encode(“1”,“UTF-8”);
writeBytes(URL参数)代码>
但它也没有起作用,谢谢大家的合作 它必须与HttpURLConnection一起工作吗?如果不是,您只是想发送一个POST请求,我建议您使用,这将有助于您在Akash链接的问题的已接受答案中注意到,代码设置了“内容类型”
和“内容长度”
请求属性。你需要设置这些。