시나닷컴 웨이보4j에 대해.model.MySSLSocketFactory.createSocket(MySSLSocketFactory.java:78)

3415 단어 tlsssl
07-10 23:31:41.905: E/AndroidRuntime(32441): FATAL EXCEPTION: main
07-10 23:31:41.905: E/AndroidRuntime(32441): java.lang.NullPointerException
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
weibo4j.model.MySSLSocketFactory.createSocket(MySSLSocketFactory.java:78)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
weibo4j.http.HttpClient2.httpRequest(HttpClient2.java:399)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
weibo4j.http.HttpClient2.post(HttpClient2.java:305)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
weibo4j.Oauth.getAccessTokenByCode(Oauth.java:76)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
weibo4j.WeiboOauth2.getAccessToken(WeiboOauth2.java:66)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
com.kandian.user.WeiboWebViewHelper$1.onPageFinished(WeiboWebViewHelper.java:114)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:285)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
android.os.Handler.dispatchMessage(Handler.java:99)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
android.os.Looper.loop(Looper.java:143)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
android.app.ActivityThread.main(ActivityThread.java:5068)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
java.lang.reflect.Method.invokeNative(Native Method)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
java.lang.reflect.Method.invoke(Method.java:521)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
07-10 23:31:41.905: E/AndroidRuntime(32441): 	at
dalvik.system.NativeStart.main(Native Method)

 
처음에는 Http Client를 가져오지 않은jar 패키지인 줄 알았어요!하지만, 내가 핸드폰을 여러 번 사용하는 것은 문제없다.하지만 며칠 전 디버깅할 때 이런 문제가 생겼다.
영문을 모르다.
시나닷컴의jar를 몰라서 제가 번역했습니다.하지만 테스트가 잘 되지는 않아요.왜냐하면 우리 감독님 핸드폰만 이런 문제가 생겼어요!
 
오늘 우리 팀장은 문제가 이미 해결되었다고 우편으로 보냈다.그래서 여러분과 나누겠습니다.
 
해결 방법은 다음과 같습니다.
 
 
sina 공식방송 weibo4j_oauth2 인터페이스는 https이기 때문에 공식 Example은 표준에 따라 SSLContext라고 적습니다.getInstance("SSL");
2.2 및 다음 버전 SDK는 이러한 방법을 지원하지 않으며 인용된 원본 코드를 SSLContext로 변경합니다.getInstance("TLS")만 있으면 됩니다.
 
 
여기서도 팀장님 감사합니다, 욱이형!

좋은 웹페이지 즐겨찾기