HttpURLConnection conn.getRequestProperty返回null

我正在尝试将一些数据推送到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")); 

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

请帮我

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

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

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

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

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

我建议使用Apache HttpClient

 final HttpClient client = new HttpClient(); final PostMethod method = new PostMethod(uri); method.addRequestHeader("X-Rim-Push-Title", "-message"); client.executeMethod(method); String responseBody = method.getResponseBodyAsString(); Header[] headers = method.getResponseHeaders(); 

与HttpURLConnection相比,HttpClient是一种处理HTTP的更强大的方法。

当我检查提交的标题和请求的输入流时,我得到200 ok状态,但没有任何内容发送到设备

 from server: 200 | OK =======REQUEST=============== request header:X-Rim-Push-ID:pushID:1342694818991 request header:Host:win-uhgr7vs88uz.assabb.com:8080 request header:Content-Length:19 request header:X-Rim-Push-Title:-message request header:User-Agent:Java/1.6.0_18 request header:POST /push?DESTINATION=bestest%40assa-associates.com&PORT=7874&REQUESTURI=/ HTTP/1.1:null request header:Content-Type:text/html request header:Accept:text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 request header:Connection:keep-alive request header:X-Rim-Push-Dest-Port:7874 request header:X-Rim-Push-Type:browser-message ======Response=============== response header:Date:Thu, 19 Jul 2012 10:47:10 GMT response header:Content-Length:0 response header:X-RIM-Push-ID:pushID:1342694818991 response header:Via:MDS_5.0.3.26 response header:x-rim-multidest-push-supported:true response header:Server:Apache-Coyote/1.1 response header:x-rim-push-persisted:fals