java - REST HttpURL 连接

标签 java web-services rest httpurlconnection

我正在开发一个 REST 客户端,使用 HttpURLConnection 试验 tinkerpop 数据库。

我正在尝试发送 'GET - CONNECT'。现在我明白(从一些网络研究中)如果我使用 doOutput(true) 即使我 setRequestMethod 'GET' 'client' 也会是 'POST' 因为 POST 是默认设置(好吧?)但是当我注释掉 doOutput(true) 时我得到这个错误:

java.net.ProtocolException: cannot write to a URLConnection if doOutput=false - call setDoOutput(true)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:995)
at RestContent.handleGetConnect(RestContent.java:88)

at RestClient.main(RestClient.java:42)`

这里是我用 setUseDoOutPut() 尝试过各种选项的通信代码片段。

//connection.setDoInput(true);
connection.setUseCaches (false);
connection.setDoOutput(true);
connection.setAllowUserInteraction(false);

// set GET method 
try {
    connection.setRequestMethod("GET");
} catch (ProtocolException e1) {
    e1.printStackTrace();
    connection.disconnect();
}

在另一种情况下,connection.setRequestMethod("GET") 出现异常。有什么提示吗?

最佳答案

以下代码工作正常:URL 是一个支持 GET 操作的 Rest URL。

    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("GET");
    //connection.setDoOutput(true);
    InputStream content = (InputStream) connection.getInputStream();
    BufferedReader in = new BufferedReader(new InputStreamReader(content));
    String line;
    while ((line = in.readLine()) != null) {
        System.out.println(line);
    }

关于java - REST HttpURL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18198953/

相关文章:

c# - REST 网络服务 "Bad request"

node.js - 如何将标准 API 错误响应制定为 Loopback 4 中的对象?

c# - ServiceStack请求参数还是 session 变量?

java - Java 中的字符串提取/操作

Swift 3 使用 Alamofire 将数据上传到服务器

java - JPA/hibernate : "Missing Column" when joining columns

java - Spring JDBC 事务管理器

java - 我需要为 Jersey Rest Web 服务编写 Junit 测试用例..请帮助我或发布示例代码?

java - 将二维数组元素从一个复制到另一个

java - 如何确定给定 Maven 依赖项的来源?