【问题标题】:How to use curl in Java如何在 Java 中使用 curl
【发布时间】:2016-06-11 06:46:59
【问题描述】:

我发现有几个关于这个主题的讨论,但让我感到困惑的是另一个问题。您会看到,对象 URL 用于从特定页面获取数据。但是当页面需要权限时如何编写URL?

API 建议使用 curl 代码 curl -i -X GET --header 'X-Auth-code:<your_code>',但如何使用?

【问题讨论】:

  • 权威机构,我想您的意思是自定义 X-Auth-code 标头?如果是这样,您可以在 java 中将自定义标头添加到 GET 请求。只需谷歌或在 StackOverflow 上搜索。顺便说一句,仅仅因为 API 建议使用 curl,并不意味着您必须只使用 curl。您可以使用标准的 JDK 组件/开源库来发出 HTTP 请求。

标签: java curl


【解决方案1】:
    URL url = new URL("http://stackoverflow.com");

    try (BufferedReader reader = new BufferedReader(new   InputStreamReader(url.openStream(), "UTF-8"))) {
    for (String line; (line = reader.readLine()) != null;) {
        System.out.println(line);
    }

我认为this reference 可能会对您有所帮助。

【讨论】:

  • 是的,我知道你的想法。但重要的是何时需要授权。恐怕你的建议不能解决这个问题
  • 可以在post请求的header中设置用户名和密码。检查此网址 als:stackoverflow.com/questions/3283234/…。 @斯通
【解决方案2】:

要在 Java 程序中运行命令,您可以使用 ProcessRuntime

试试下面的方法:

Process p = Runtime.getRuntime().exec("curl -i -X ");
InputStream is = p.getInputStream();

【讨论】:

  • 有什么问题?
  • 引用可能有问题。或者更具体地说,exec 根本不理解引用。解决方案是将命令名称和选项作为字符串数组提供......这样您就不需要任何引用。
  • @Stone - 你需要展示使用 >>exactly
  • @mmuzahid 对不起,我刚刚发现 api 给了我错误的 curl 命令。更正后,只剩下我使用url链接Api的问题
  • 但错误显示 MalformedURLException: no protocol。我在 Windows 上运行,有没有可能 Windows 不支持 curl?
【解决方案3】:

这是最终的解决方案:关键是setRequestProperty()方法

     try {
        String url = "http://121.41.106.89:8010/";

        URL readUrl = new URL(url);
        URLConnection connection = readUrl.openConnection();
        connection.setConnectTimeout(5000);
        connection.setRequestProperty("X-Auth-Code", "75d07493b655591137dbc905ede428ce");
        connection.connect();

        BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String result = in.readLine();
        System.out.println(result);
    } catch (Exception e) {
        e.printStackTrace();
    }

【讨论】:

    猜你喜欢
    • 2011-02-04
    • 2020-01-30
    • 1970-01-01
    • 2019-09-18
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    • 2013-01-11
    相关资源
    最近更新 更多