我对BlackBerry上的httpConnection和getResponseCode有一个问题
如果我尝试连接jpeg相机,此连接正常工作。但是当我连接到Mjpeg(jpeg流)相机时,我不能显示“System.out.println(“onreturn oncesi” +输出控制台上的httpConnection.getResponseCode())。 我正在使用Emulator和MDS。我可以在MDS上显示。。。小溪来了我对BlackBerry上的httpConnection和getResponseCode有一个问题,blackberry,blackberry-simulator,httpconnection,getresponse,Blackberry,Blackberry Simulator,Httpconnection,Getresponse,如果我尝试连接jpeg相机,此连接正常工作。但是当我连接到Mjpeg(jpeg流)相机时,我不能显示“System.out.println(“onreturn oncesi” +输出控制台上的httpConnection.getResponseCode())。 我正在使用Emulator和MDS。我可以在MDS上显示。。。小溪来了 url = getUrl(); queryString = encodeURL(queryString); byte postmsg[] = queryStr
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);
}
url=getUrl();
queryString=encodeURL(queryString);
字节postsg[]=queryString.getBytes(“UTF-8”);
httpConnection=(httpConnection)连接器。打开(url
+“deviceside=false”,连接器。读写);
setRequestMethod(httpConnection.GET);
setRequestProperty(“授权”,getBase64Encode());
os=httpConnection.openDataOutputStream();
对于(int i=0;i
一个问题是您没有正确设置请求头
您的发布数据,因此不应httpConnection.setRequestMethod(httpConnection.GET)
behttpConnection.setRequestMethod(httpConnection.POST)代码>
您还应该设置内容长度:httpConnection.setRequestProperty(“内容长度”,Integer.toString(postsg.Length))代码>
当我们正在做的时候,我会继续设置这些:
内容类型:可能为“图像/jpeg”。不确定它应该是什么<代码>httpConnection.setRequestProperty(“内容类型”、“图像/jpeg”)代码>
UserAgent我发现一些站点在RIM(Java/xxx)中屏蔽了默认的用户代理,认为它是一个爬行器,所以我喜欢设置用户代理。httpConnection.setRequestProperty(“用户代理”,“mycolapp/V1(App_-RIM)”代码>
您正在使用哪个版本的JDE?这是通过HTTPS吗?我这样问是因为在像4.5这样的旧版本上,您必须以不同的方式创建http和https。在较新的版本中,您可能应该使用新的ConnectionFactory,而不是Connector
祝你好运,我希望你能找到答案 我正在使用4.6。。。ConnectionFactory在4.6中不起作用,我无法接受响应代码…@atasoyh如果打开HTTPS连接,请确保将结果从连接器强制转换到正确的连接类。我想既然您使用了授权,您的连接是通过HTTPS的?如果是,则强制转换为(HttpsConnection)而不是(HttpConnection)。同时在谷歌上搜索“马库斯·沃特金斯和康涅狄格工厂”(适用于4.6版),虽然它并不完美,但它会引导你走向正确的方向。