猿问

如何使用java.net.URLConnection来触发和处理HTTP请求

如何使用java.net.URLConnection来触发和处理HTTP请求

java.net.URLConnection在这里经常询问使用情况,Oracle教程对此非常简洁。

该教程基本上只显示了如何触发GET请求并读取响应。它没有解释如何使用它来执行POST请求,设置请求标头,读取响应标头,处理cookie,提交HTML表单,上传文件等。

那么,我如何使用java.net.URLConnection触发和处理“高级”HTTP请求?


ABOUTYOU
浏览 1152回答 4
4回答

梵蒂冈之花

使用HTTP时,引用HttpURLConnection而不是基类几乎总是更有用URLConnection(因为URLConnection当你URLConnection.openConnection()在HTTP URL上请求时,无论如何都是一个抽象类)。然后你可以而不是依赖于URLConnection#setDoOutput(true)隐式地将请求方法设置为POST而不是httpURLConnection.setRequestMethod("POST")某些人可能会发现更自然(并且还允许您指定其他请求方法,如PUT,DELETE,...)。它还提供有用的HTTP常量,因此您可以执行以下操作:int responseCode = httpURLConnection.getResponseCode();if (responseCode == HttpURLConnection.HTTP_OK) {

幕布斯7119047

使用HTTP URL Hits有两个选项:GET / POSTGET请求: -HttpURLConnection.setFollowRedirects(true); // defaults to trueString url = "https://name_of_the_url";URL request_url = new URL(url);HttpURLConnection http_conn = (HttpURLConnection)request_url.openConnection();http_conn.setConnectTimeout(100000);http_conn.setReadTimeout(100000);http_conn.setInstanceFollowRedirects(true);System.out.println(String.valueOf(http_conn.getResponseCode()));POST请求: -HttpURLConnection.setFollowRedirects(true); // defaults to trueString url = "https://name_of_the_url"URL request_url = new URL(url);HttpURLConnection http_conn = (HttpURLConnection)request_url.openConnection();http_conn.setConnectTimeout(100000);http_conn.setReadTimeout(100000);http_conn.setInstanceFollowRedirects(true);http_conn.setDoOutput(true);PrintWriter out = new PrintWriter(http_conn.getOutputStream());if (urlparameter != null) {   out.println(urlparameter);}out.close();out = null;System.out.println(String.valueOf(http_conn.getResponseCode()));
随时随地看视频慕课网APP

相关分类

Java
我要回答