Java 教程

Java 控制语句

面向对象编程

Java 内置类

Java 文件处理

Java 错误与异常

Java 多线程

Java 同步

Java 网络编程

Java 集合

Java 接口

Java 数据结构

Java 集合算法

高级 Java

Java 杂项

Java APIs 和框架

Java 类引用

Java 有用资源

Java - HttpURLConnection setRequestMethod() 方法



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.tutorialspoint;

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://tutorialspoint.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.tutorialspoint;

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://tutorialspoint.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.tutorialspoint.HttpUrlConnectionDemo.main(HttpUrlConnectionDemo.java:18)

示例 3

以下示例演示了使用 Java HttpURLConnection setRequestMethod() 方法处理使用 http 协议的有效 url。在此示例中,我们正在创建 URL 类的实例。使用 url.openConnection() 方法,我们获得了 HttpURLConnection 实例。使用 getRequestMethod(),我们检查请求方法的值并打印它。现在使用 setRequestMethod() 方法,我们更改请求方法的值并再次打印它。

package com.tutorialspoint;

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://tutorialspoint.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
java_httpurlconnection.htm
广告