我有一个关于HttpConnection把getResponseCode黑莓问题
-
26-09-2019 - |
题
如果我尝试连接jpeg文件,这方面的工作权利。但是,当我连接至MJPEG(JPEG流)相机,我无法显示“的System.out.println(” onreturn oncesi” + httpConnection.getResponseCode());”上输出控制台。 我使用模拟器和MDS。我可以显示在MDS,...流来了。
url = getUrl();
queryString = encodeURL(queryString);
byte postmsg[] = queryString.getBytes("UTF-8");
httpConnection = (HttpConnection) Connector.open(url
+ ";deviceside=false", Connector.READ_WRITE);
httpConnection.setRequestMethod(HttpConnection.GET);
httpConnection.setRequestProperty("Authorization", getBase64Encode());
os = httpConnection.openDataOutputStream();
for (int i = 0; i < postmsg.length; i++) {
os.write(postmsg[i]);
}
{
if (!cancel) {
System.out.println(httpConnection.getURL()+
" *****"+httpConnection.getPort());
System.out.println("onreturn oncesi"
+ httpConnection.getResponseCode());
onReturn(httpConnection.getResponseCode(), httpConnection
.openInputStream(),(int) httpConnection.getLength());
System.out.println("onreturn sornrası");
}
os.close();
httpConnection.close();
}
} catch (Exception e) {
System.out.println("hata " + e.getMessage());
try {
httpConnection.close();
Thread.sleep(60);
} catch (Exception ie) {
}
onError(e);
}
解决方案
的一个问题是您的不正确设置请求头。
您过帐数据,所以不宜httpConnection.setRequestMethod(HttpConnection.GET);
是httpConnection.setRequestMethod(HttpConnection.POST);
。
你应该还可以设置内容长度:httpConnection.setRequestProperty("Content-Length", Integer.toString(postmsg.length));
虽然我们是在它我会继续前进,设置这些:
内容类型强>:也许为 “图像/ JPEG”。不知道它应该是什么MJPEG ... httpConnection.setRequestProperty("Content-Type", "image/jpeg");
的UserAgent 我发现一些网站阻止RIM(Java / XXX),默认的用户代理,以为它是一只蜘蛛,所以我喜欢设置用户agent.httpConnection.setRequestProperty("User-Agent", "MyCoolApp/V1 (App_RIM)");
您使用什么JDE的版本?这是通过HTTPS?我问,因为在旧版本4.5一样,你必须创建http和https不同。在新版本你应该使用新的ConnectionFactory,而不是连接器。
祝你好运,我希望你看着办吧!