我正在尝试用blackberry中的网络凭据调用HTTP请求。我已经在Java、Android上实现了,它运行良好,但在黑莓上不起作用。下面是我在黑莓手机上完成的步骤。
对于设置网络凭据,我添加了以下三个jar。
- 通用代码1.6.jar
- commons-httpclient-3.0.1.jar
- 普通日志-1.1.1.jar
添加这个jar文件在blackberry项目中。
以下是在Core Java中运行良好的示例代码。
尝试{HttpClient客户端=新的HttpClient();GetMethod get=新的GetMethod("http://www.google.com");get.setDoAuthentication(true);尝试{int status=client.executeMethod(get);System.out.println(status+"\n"+get.getResponseBodyAsString());}最后{get.releaseConnection();}}catch(异常e){System.out.println("错误:>>>>>>"+e);}
现在代码上没有错误,但每当尝试单击应用程序图标时,都会出现类似"启动appName:Module'commons-httpclient-3.0.1'时出错"的错误面
有人能提出这个错误是怎么说的吗。
BB不支持HttpClient
。但它确实支持J2ME的HttpConnection
,并且与HttpClient
非常相似,所以您可以很容易地使用它进行调整
try{
HttpConnection mConn = (HttpConnection)Connector.open(urlToPost);
mConn.setRequestMethod(HttpConnection.POST);
mConn.setRequestProperty("IF-Modified-Since", "20 Jan 2001 16:19:14 GMT");
mConn.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0");
mConn.setRequestProperty("Content-Language", "en-CA");
//---------------------------------------------------
mConn.setRequestProperty("User",usr);
mConn.setRequestProperty("pass",pass);
//---------------------------------------------------
catch(Exception e){//---handle your exceptions---//}
} finally {
mConn.close();//don't forget to close connections, only a limited number are available
}
这是一篇便于读者理解的好文章。