我正在尝试将一些数据推送到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 NULL 只有 X-Rim-Push-ID 才能正确检索
请帮帮我
答案 0 :(得分:13)
不太确定你真正想做什么。但是要查看发布到服务器的内容,您必须将其发布到您自己的内容并阅读您在那里收到的数据。
如果您想查看所有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);
}
}
}
答案 1 :(得分:1)
我建议使用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();
HttpClient是一种比HttpURLConnection处理HTTP更强大的方法。
答案 2 :(得分:0)
当我检查提交的标题和请求的输入流时,我得到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