在黑莓中使用Credential发送HTTP请求

时间:2012-02-16 08:48:52

标签: http blackberry networkcredentials

我正在尝试使用黑莓中的网络凭据调用HTTP请求。我已经在Java,Android上实现了它的工作正常但不适用于黑莓。我已经完成了黑莓手术。

对于设置网络凭据,我已添加以下三个jar。

  1. 公地编解码器-1.6.jar
  2. 公地HttpClient的-3.0.1.jar
  3. 共享记录-1.1.1.jar
  4. 添加此jar文件是在blackberry项目中。

    以下示例代码在Core Java中正常运行。

     try{
            HttpClient client = new HttpClient();
            GetMethod get = new GetMethod("http://www.google.com");
            get.setDoAuthentication( true );
            try {
                int status = client.executeMethod( get );
                System.out.println(status + "\n" + get.getResponseBodyAsString());
    
            } finally {
                get.releaseConnection();
            }
        }catch(Exception e){
            System.out.println("Error:>>>>>>"+e);
        }
    

    现在代码上没有错误,但每当试图点击应用程序图标时出现错误,如“错误启动appName:模块'commons-httpclient-3.0.1'未找到”

    任何人都可以建议这个错误说的是什么。

1 个答案:

答案 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
}

This是一篇关于更好理解的好文章。