【问题标题】:Sent HTTP request with Credential in blackberry在黑莓中发送带有凭据的 HTTP 请求
【发布时间】:2012-02-16 08:48:51
【问题描述】:

我正在尝试在黑莓中使用网络凭据调用 HTTP 请求。我已经在 J​​ava、Android 上实现了,它运行良好,但不适用于黑莓。按照我在黑莓中完成的步骤。

为了设置网络凭据,我添加了以下三个 jar。

  1. commons-codec-1.6.jar
  2. commons-httpclient-3.0.1.jar
  3. commons-logging-1.1.1.jar

添加这个jar文件在黑莓项目中。

以下示例代码在 Core Java 中运行良好。

尝试{ HttpClient 客户端 = 新 HttpClient(); GetMethod get = new 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' not found”

谁能建议这个错误是什么意思。

【问题讨论】:

  • 该错误仅表示未找到HttpClient 所需的库。您可能想改用HttpConnection 吗?
  • 我添加了 jar 并且没有编译错误。代码编译正确。
  • 毫无疑问可以...但似乎BB不支持...
  • 黑莓基于 JavaME。

标签: http blackberry networkcredentials


【解决方案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 是一篇很好的文章,可以更好地理解。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多