import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class RequestConverter {
public static void main(String[] args) {
String requestType = args[0]; // GET, POST, PUT, DELETE
String url = args[1]; // URL to request
String requestBody = args[2]; // Request body (for POST, PUT)
try {
HttpURLConnection connection = makeRequest(requestType, url, requestBody);
printResponse(connection);
} catch (IOException e) {
System.err.println("Error: " + e.getMessage());
} finally {
if (connection != null) {
connection.disconnect();
}
}
}
private static HttpURLConnection makeRequest(String requestType, String url, String requestBody) throws IOException {
URL u = new URL(url);
HttpURLConnection connection = (HttpURLConnection) u.openConnection();
connection.setInstance(HttpURLConnection.HTTP_BROWSER); //For non-production
switch (requestType.toUpperCase()) {
case "GET":
connection.connect(); // Connect for GET requests
break;
case "POST":
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
if (requestBody != null && !requestBody.isEmpty()) {
connection.getOutputStream().write(requestBody.getBytes());
}
break;
case "PUT":
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("PUT");
if (requestBody != null && !requestBody.isEmpty()) {
connection.getOutputStream().write(requestBody.getBytes());
}
break;
case "DELETE":
connection.setRequestMethod("DELETE");
break;
default:
throw new IllegalArgumentException("Invalid request type: " + requestType);
}
return connection;
}
private static void printResponse(HttpURLConnection connection) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line).append("\n");
}
System.out.println(response.toString());
}
}
Add your comment