HttpURLConnection conn.getRequestProperty返回null

dzg*_*eek 6 java http httpurlconnection web

我正在尝试将一些数据推送到BES的URL(MDS_CS)

当我在我的代码中设置一些请求标头并提交请求时,提交请求的标头设置为null.

这是我的代码:

        HttpURLConnection conn =(HttpURLConnection)url.openConnection();
        conn.setDoInput(true);//For receiving the confirmation
        conn.setDoOutput(true);//For sending the data
        conn.setRequestMethod("POST");//Post the data to the proxy
        conn.setRequestProperty("X-Rim-Push-ID", pushId);
        conn.setRequestProperty("Content-Type", "text/html");
        conn.setRequestProperty("X-Rim-Push-Title", "-message");
        conn.setRequestProperty("X-Rim-Push-Type", "browser-message");                 
        conn.setRequestProperty("X-Rim-Push-Dest-Port", "7874");            
        //Write the data
        OutputStream out = conn.getOutputStream();
        out.write(data.getBytes());
        out.close();

        System.out.println(conn.getHeaderField("X-Rim-Push-ID"));
Run Code Online (Sandbox Code Playgroud)

当我尝试检索X-Rim-Push-Title时,最后一行返回null 只有正确检索的X-Rim-Push-IDNULL

请帮我

mor*_*rja 13

不太确定你真正想做什么.但要查看发布到服务器的内容,您必须将其发布到您自己的内容并阅读您在那里收到的数据.

如果您想查看所有REQUEST标头,您可以:

for (String header : conn.getRequestProperties().keySet()) {
   if (header != null) {
     for (String value : conn.getRequestProperties().get(header)) {
        System.out.println(header + ":" + value);
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

或者在连接后,您可以打印出RESPONSE标题:

for (String header : conn.getHeaderFields().keySet()) {
   if (header != null) {
     for (String value : conn.getHeaderFields().get(header)) {
        System.out.println(header + ":" + value);
      }
   }
}
Run Code Online (Sandbox Code Playgroud)