【发布时间】:2017-12-16 04:07:54
【问题描述】:
我正在尝试使用 java.net.URLConnection 发出 curl 请求。 但是,当使用 --verbose 开关执行时,我需要解析命令的输出。
以下代码按预期执行 curl 请求,我只是在寻找一种方法来获取命令的详细输出。
String stringUrl = this.contUrl + "/auth?action=login";
URL url = new URL(stringUrl);
URLConnection uc = url.openConnection();
System.out.println(stringUrl);
System.out.println("Authorization: " + this.header);
uc.setRequestProperty("X-Requested-With", "Curl");
uc.setRequestProperty("Authorization", this.header);
BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));
String result = "";
String line;
while((line = in.readLine()) != null) {
result += line;
}
【问题讨论】:
-
您的问题是什么?什么是 --verbose 开关?
-
curl是一个命令行工具。您不是在运行curl,而是在运行 Java 代码,因此不存在“卷曲请求”之类的东西。假设this.contUrl的值以http:开头,那么您正在发出“HTTP 请求”。如果您希望您的 Java 代码编写类似于--verbose为curl所做的输出,则由您编写代码以打印请求和响应标头,可通过调用URLConnection上的方法来访问。 -
@TuyenNguyen 请参阅
curl手册页:curl.haxx.se/docs/manpage.html#-v -
谢谢安德烈亚斯。我很清楚我正在运行 Java 代码而不是命令行工具 curl。 “由您编写代码以打印请求和响应标头”正是我需要的正确方向。谢谢。
标签: java curl urlconnection verbose