Java HttpURLConnection setRequestMethod() 方法设置 URL 请求的方法,其中之一 -
GET
POST
HEAD
OPTIONS
PUT
DELETE
TRACE
默认方法是GET。
声明
以下是java.net.HttpURLConnection.setRequestMethod()方法的声明
public void setRequestMethod(String method) throws ProtocolException
参数
method - HTTP方法
返回值
无
异常
ProtocolException - 如果该方法无法重置或者请求的方法对于 HTTP 无效。
SecurityException - 如果设置了安全管理器,方法为"TRACE",但未授予"allowHttpTrace"NetPermission。
示例 1
以下示例显示 Java HttpURLConnection setRequestMethod() 的用法使用 https 协议获取有效 url 的方法。在此示例中,我们将创建 URL 类的实例。使用 url.openConnection() 方法,我们获取 HttpURLConnection 实例。使用 getRequestMethod(),我们检查请求方法值是否打印相同。现在使用 setRequestMethod() 方法,我们更改请求方法的值并再次打印相同的值 -
package com.yxjc123;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpUrlConnectionDemo {
public static void main(String [] args) {
try {
URL url = new URL("https://www.yxjc123.com/index.htm?language=en#j2se");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
String result = urlConnection.getRequestMethod();
System.out.println("request method: " + result);
urlConnection.setRequestMethod("POST");
result = urlConnection.getRequestMethod();
System.out.println("request method: " + result);
} catch (IOException e) {
e.printStackTrace();
}
}
}
让我们编译并运行上面的程序,这将产生以下结果 -
输出
request method: GET
request method: POST
示例 2
以下示例显示使用 Java HttpURLConnection setRequestMethod() 方法获取 https 协议的有效 url。在此示例中,我们将创建 URL 类的实例。使用 url.openConnection() 方法,我们获取 HttpURLConnection 实例。使用 getRequestMethod(),我们检查请求方法值是否打印相同。现在使用 setRequestMethod() 方法,我们更改请求方法的值并打印相同的值。由于连接已经建立,setRequestMethod() 抛出异常,如下所示 -
package com.yxjc123;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpUrlConnectionDemo {
public static void main(String [] args) {
try {
URL url = new URL("http://www.yxjc123.com/index.htm?language=en#j2se");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.connect();
System.out.println("Connected.");
String result = urlConnection.getRequestMethod();
System.out.println("request method: " + result);
urlConnection.setRequestMethod("POST");
result = urlConnection.getRequestMethod();
System.out.println("request method: " + result);
urlConnection.disconnect();
System.out.println("Disconnected.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
让我们编译并运行上面的程序,这将产生以下结果 -
输出
Connected.
request method: GET
Exception in thread "main" java.lang.IllegalStateException: connect in progress
at sun.net.www.protocol.http.HttpURLConnection.setRequestMethod(Unknown Source)
at com.yxjc123.HttpUrlConnectionDemo.main(HttpUrlConnectionDemo.java:18)
示例 3
以下示例显示使用 Java HttpURLConnection setRequestMethod() 方法获取具有 http 协议的有效 url。在此示例中,我们将创建 URL 类的实例。使用 url.openConnection() 方法,我们获取 HttpURLConnection 实例。使用 getRequestMethod(),我们检查请求方法值是否打印相同。现在使用 setRequestMethod() 方法,我们更改请求方法的值并再次打印相同的值 -
package com.yxjc123;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpUrlConnectionDemo {
public static void main(String [] args) {
try {
URL url = new URL("http://www.yxjc123.com/index.htm?language=en#j2se");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
String result = urlConnection.getRequestMethod();
System.out.println("request method: " + result);
urlConnection.setRequestMethod("POST");
result = urlConnection.getRequestMethod();
System.out.println("request method: " + result);
} catch (IOException e) {
e.printStackTrace();
}
}
}
让我们编译并运行上面的程序,这将产生以下结果 -
输出
request method: GET
request method: POST