private static void setRequestMethod(HttpURLConnection conn, String method) throws Throwable { try { conn.setRequestMethod(method); } catch (ProtocolException e) { Class<?> c = conn.getClass(); Field methodField = null; Field delegateField = null; try { delegateField = c.getDeclaredField("delegate"); } catch (NoSuchFieldException nsfe) { } while (c != null && methodField == null) { try { methodField = c.getDeclaredField("method"); } catch (NoSuchFieldException nsfe) { } if (methodField == null) { c = c.getSuperclass(); } } if (methodField != null) { methodField.setAccessible(true); methodField.set(conn, method); } if (delegateField != null) { delegateField.setAccessible(true); HttpURLConnection delegate = (HttpURLConnection) delegateField.get(conn); setRequestMethod(delegate, method); } } }
Search This Blog
make Java HttpURLConnection support MKCOL PROFIND and other non-standard HTTP methods
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment