diff --git a/weibo.sdk.android.sso.demo/src/com/weibo/sdk/android/WeiboDialog.java b/weibo.sdk.android.sso.demo/src/com/weibo/sdk/android/WeiboDialog.java index 3a12cc5..7b4dbc8 100755 --- a/weibo.sdk.android.sso.demo/src/com/weibo/sdk/android/WeiboDialog.java +++ b/weibo.sdk.android.sso.demo/src/com/weibo/sdk/android/WeiboDialog.java @@ -103,6 +103,12 @@ protected void onBack() { dismiss(); } + @Override + public void cancel(){ + mListener.onCancel(); + super.cancel(); + } + private void setUpWebView() { webViewContainer = new RelativeLayout(getContext()); mWebView = new WebView(getContext()); diff --git a/weibo.sdk.android.sso.demo/src/com/weibo/sdk/android/net/HttpManager.java b/weibo.sdk.android.sso.demo/src/com/weibo/sdk/android/net/HttpManager.java index 7a1d2e5..bcf8f83 100755 --- a/weibo.sdk.android.sso.demo/src/com/weibo/sdk/android/net/HttpManager.java +++ b/weibo.sdk.android.sso.demo/src/com/weibo/sdk/android/net/HttpManager.java @@ -5,6 +5,8 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.lang.reflect.Field; +import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import java.security.KeyManagementException; @@ -200,6 +202,7 @@ public X509Certificate[] getAcceptedIssuers() { @Override public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException, UnknownHostException { + injectHostname(socket, host); return sslContext.getSocketFactory().createSocket(socket, host, port, autoClose); } @@ -207,6 +210,15 @@ public Socket createSocket(Socket socket, String host, int port, boolean autoClo public Socket createSocket() throws IOException { return sslContext.getSocketFactory().createSocket(); } + + private void injectHostname(Socket socket, String host) { + try { + Field field = InetAddress.class.getDeclaredField("hostName"); + field.setAccessible(true); + field.set(socket.getInetAddress(), host); + } catch (Exception ignored) { + } + } } private static void paramToUpload(OutputStream baos, WeiboParameters params) diff --git a/weibo.sdk.android.sso.jar b/weibo.sdk.android.sso.jar index e1809e7..951db8e 100755 Binary files a/weibo.sdk.android.sso.jar and b/weibo.sdk.android.sso.jar differ