0

我有一个对特定 URL 执行 GET 的 java servlet 类。我还将数据作为 GET 的一部分传递。

我需要的是在接收此数据的 HTTP 服务器代码中,如何将基于用户的响应数据插入到 Header 中,以便我的调用 Java servlet 类可以读取它。

我可以读取标准响应内容,例如 .getResponseCode() 等,但我需要以某种方式将自己的响应插入到标题中。如何才能做到这一点?我该如何阅读?

这是我的 java servlet 发送类:

public void sendRequest(String data, String sendUrl) throws Throwable{

    String messageEncoded = URLEncoder.encode(data, "UTF-8");
    String message = URLDecoder.decode(messageEncoded);
    System.out.println("messageEncoded : " + messageEncoded);
    System.out.println("messageDecoded : " + message);

    try {                 
        URL url = new URL(sendUrl);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();            
        connection.setDoOutput(true);            
        connection.setRequestMethod("GET");            
        OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());           
        writer.write(message);    
        writer.close();   

        BufferedReader rd = null; 
        StringBuilder sb = null; 
        String line = null; 

        System.out.println(" *** headers ***"); 
        for (Entry<String, List<String>> headernew : connection.getHeaderFields().entrySet()) { 
            System.out.println(headernew.getKey() + "=" + headernew.getValue()); 
        } 

        System.out.println(" \n\n*** Body ***"); 
        rd = new BufferedReader(new InputStreamReader(connection.getInputStream())); 
        sb = new StringBuilder(); 

        while ((line = rd.readLine()) != null) { 
            sb.append(line + '\n'); 
        } 

        System.out.println("body=" + sb.toString());     

        System.out.println("connection.getResponseCode() : " + connection.getResponseCode());
        System.out.println("connection.getResponseMessage()" + connection.getResponseMessage());

        if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) { 
            // Ok
        } else {                
            // Server returned HTTP error code.            
        }   

    } catch (MalformedURLException e) {            
        // ...
        System.out.println(this.getClass() + " : MalformedURLException Error occured due to: " + e);
    } catch (IOException e) {           
        System.out.println(this.getClass() + " : IOException Error occured due to: " + e);   
    }
}   
4

0 回答 0