【发布时间】:2012-07-17 15:48:33
【问题描述】:
我正在尝试将一些数据推送到 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 被正确检索,
请帮帮我
【问题讨论】:
-
您正在设置请求属性,但获得了一个标头字段。这是故意的吗?我个人希望
conn.getRequestProperty("X-Rim-Push-ID")能够工作。 -
澄清@Thor84no 的意思,
getHeaderField()用于获取 response 标头,而不是您之前设置的请求标头。 -
真的,请问,我怎样才能获得完整的 http 帖子以及我发送的标题和数据?来自服务器的响应是 200,但仍然没有将我的数据推送到黑莓
-
@jtahlborn ,@Thor84no ,我怎么能得到我提交的完整请求,就像我说服务器的响应是 200 但我对我的请求进行了回应
-
设置某种代理来监视 http 流量。我使用charles proxy,效果很好。
标签: java http web httpurlconnection