gpt4 book ai didi

Java 的 HttpURLConnection 不支持 REPORT/PROPFIND - 我该怎么办?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:54:17 25 4
gpt4 key购买 nike

HttpURLConnection 只支持 GET、POST 和 HEAD 之类的东西——但不支持 REPORT/PROPFIND。我要实现一个 CalDAV 客户端,但没有这些操作(如果我想使用它们,我会得到一个 ProtocolException),我必须编写/交付一个完整的、巨大的带有 auth 的 HTTP 库等等。

“矫枉过正”。

如何使用 PROPFIND 和 REPORT 发送请求?

最佳答案

对于 PROPFIND 方法,我在 WebDav 上遇到了类似的问题。

通过实现此解决方案解决了问题: https://java.net/jira/browse/JERSEY-639

    try {
httpURLConnection.setRequestMethod(method);
} catch (final ProtocolException pe) {
try {
final Class<?> httpURLConnectionClass = httpURLConnection
.getClass();
final Class<?> parentClass = httpURLConnectionClass
.getSuperclass();
final Field methodField;
// If the implementation class is an HTTPS URL Connection, we
// need to go up one level higher in the heirarchy to modify the
// 'method' field.
if (parentClass == HttpsURLConnection.class) {
methodField = parentClass.getSuperclass().getDeclaredField(
"method");
} else {
methodField = parentClass.getDeclaredField("method");
}
methodField.setAccessible(true);
methodField.set(httpURLConnection, method);
} catch (final Exception e) {
throw new RuntimeException(e);

}
}

关于Java 的 HttpURLConnection 不支持 REPORT/PROPFIND - 我该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3459617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com