我是Android开发的菜鸟,所以请耐心等待。我正在尝试弄清楚如何在Android中为REST API调用创建安全的HTTPS POST,我尝试了以下方法(在Secure HTTP Post in Android提供)
private HttpClient createHttpClient()
{
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, HTTP.DEFAULT_CONTENT_CHARSET);
HttpProtocolParams.setUseExpectContinue(params, true);
SchemeRegistry schReg = new SchemeRegistry();
schReg.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
schReg.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
ClientConnectionManager conMgr = new ThreadSafeClientConnManager(params, schReg);
return new DefaultHttpClient(conMgr, params);
}
但是,我将其粘贴到我的代码中,我认为我导入了所有必要的内容,但Eclipse正在抱怨这一行:
schReg.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
它说“方法getSocketFactory()未定义为SSLSocketFactory类型”。这是否被弃用了,有没有更新的方法呢?
非常感谢任何帮助。感谢。
答案 0 :(得分:1)
我弄清楚我的问题是什么。我导入了javax.net.ssl.SSLSocketFactory而不是org.apache.http.conn.ssl.SSLSocketFactory。 Eclipse自动添加了错误的import语句。
感谢位于http://thinkandroid.wordpress.com/2009/12/31/creating-an-http-client-example/#comment-77
的评论