Как определить тип запроса URL в Java?
Я разрабатываю приложение для Android для определенного использования, и это приложение использует веб-просмотр для загрузки URL-адресов. Мне нужно определить тип запроса URL, т.е. если это тип запроса GET, POST или DELETE. Я пытался использовать getMethod в Java, но не очень уверен, как его использовать, так как я новичок в Java.
Спасибо!
1 ответ
URL не имеют типов. HTTP-запросы к URL, хотя и делают. В этом ответе я предполагаю, что это то, о чем вы говорите.
В стандартной JRE вы делаете HTTP-запросы, используя URLConnection. Если вы знаете, что делаете HTTP-запрос с помощью URL # openConnection (), вы можете преобразовать результат этого метода в http://docs.oracle.com/javase/7/docs/api/java/net/HttpURLConnection.html. Это метод getRequestMethod(), который даст вам тип метода HTTP-запроса.
Например:
URL url=new URL("http://www.google.com/");
HttpURLConnection cn=(HttpURLConnection) url.openConnection();
// Configure URLConnection here...
cn.setRequestMethod("POST"); // Use a POST request
cn.setDoOutput(true); // We'll send a request body
OutputStream body=cn.getOutputStream(); // Send our output...
try {
// Do output...
}
finally {
body.close();
}
InputStream response=cn.getInputStream();
try {
// Get our request method
String requestMethod=cn.getRequestMethod(); // POST
Map<String,List<String>> headers=cn.getHeaderFields(); // Check other response headers
// Handle input...
}
finally {
response.close();
}