Java HttpURLConnection 类

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