基于Java的Http客户端从非Http兼容服务器读取响应

基于Java的Http客户端从非Http兼容服务器读取响应,java,http,httpclient,httpconnection,Java,Http,Httpclient,Httpconnection,我正在尝试连接到遗留HTTP服务器,在提供响应时,似乎并没有抱怨HTTP协议。因为我无法更改服务器,所以正在寻找一种方法来四处走动。我试过了 Apache客户端 httpResponse = httpclient.execute(httpPost); 抛出ClientProtocolException和httpResponse为空 HttpURLConnection BufferedReader reader = new BufferedReader(new InputStreamReader

我正在尝试连接到遗留HTTP服务器,在提供响应时,似乎并没有抱怨HTTP协议。因为我无法更改服务器,所以正在寻找一种方法来四处走动。我试过了

  • Apache客户端

    httpResponse = httpclient.execute(httpPost);
    
    抛出
    ClientProtocolException
    httpResponse
    为空

  • HttpURLConnection

    BufferedReader reader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(),"UTF8"));
    
    抛出
    java.io.IOException:无效的Http响应


  • 我试图避免打开普通套接字连接。从任何java HTTP客户端读取不兼容的HTTP响应还有其他方法吗?

    您确定它是HTTP服务器吗?“遗产”是什么?你能浏览一下吗?如果是,您可以提供响应头吗?@EJP是的,它是一个HTTP服务器,我可以在服务器日志中看到我的HTTP请求,我可以看到它试图返回xml,但它没有设置HTTP响应头。如果它没有发送HTTP响应头,它就不是HTTP服务器,您不能使用任何形式的HTTP客户端访问它。您还没有回答我的最后两个问题。我的服务器在每次响应中都返回一个空头,这与我的问题相同。您确定它是HTTP服务器吗?“遗产”是什么?你能浏览一下吗?如果是,您可以提供响应头吗?@EJP是的,它是一个HTTP服务器,我可以在服务器日志中看到我的HTTP请求,我可以看到它试图返回xml,但它没有设置HTTP响应头。如果它没有发送HTTP响应头,它就不是HTTP服务器,您不能使用任何形式的HTTP客户端访问它。您还没有回答我的最后两个问题。我遇到了与服务器相同的问题,该服务器在每个响应中返回一个空标题。