我在BlackBerry上有关于httpConnection和getResponseCode的问题

时间:2010-11-19 12:12:14

标签: blackberry blackberry-simulator httpconnection getresponse

如果我尝试连接jpeg Camera,此连接正常。但当我连接到Mjpeg(jpeg-stream)相机时,我无法显示“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);
}

1 个答案:

答案 0 :(得分:1)

一个问题是您未正确设置请求标头。

您的发布数据,因此httpConnection.setRequestMethod(HttpConnection.GET);不应为httpConnection.setRequestMethod(HttpConnection.POST);

您还应该设置内容长度httpConnection.setRequestProperty("Content-Length", Integer.toString(postmsg.length));

在我们这样做的同时,我会继续设置这些:

内容类型:也许是“image / jpeg”。不确定mJpeg应该是什么...... httpConnection.setRequestProperty("Content-Type", "image/jpeg");

UserAgent 我发现有些网站阻止了RIM(Java / xxx)中的默认用户代理,认为它是蜘蛛,所以我想设置用户代理。httpConnection.setRequestProperty("User-Agent", "MyCoolApp/V1 (App_RIM)");

您使用的是什么版本的JDE?这是通过HTTPS吗?我问,因为在4.5之类的旧版本中你必须以不同的方式创建http和https。在较新的版本中,您应该使用新的ConnectionFactory而不是Connector。

祝你好运,我希望你明白这一点!!!