悦享送 v3.5.1版本的 MD5 值为:111dc8a16f422da8b2f1cf208abae9ea
以下内容为反编译后的 GetPublicIP.java 源代码,内容仅作参考
package com.x52im.rainbowchat.utils;
import android.os.AsyncTask;
import android.util.Log;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
public class GetPublicIP extends AsyncTask<Void, Void, String> {
private static final String TAG = "GetPublicIP";
private OnIPFetchCompletedListener listener;
public interface OnIPFetchCompletedListener {
void onIPFetchCompleted(String str);
}
public GetPublicIP(OnIPFetchCompletedListener onIPFetchCompletedListener) {
this.listener = onIPFetchCompletedListener;
}
@Override
public String doInBackground(Void... voidArr) {
String str = null;
try {
HttpsURLConnection httpsURLConnection = (HttpsURLConnection) new URL("https://api.ipify.org?format=json").openConnection();
httpsURLConnection.setRequestMethod("GET");
httpsURLConnection.setConnectTimeout(1000);
httpsURLConnection.setReadTimeout(1000);
if (httpsURLConnection.getResponseCode() == 200) {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpsURLConnection.getInputStream()));
StringBuilder sb = new StringBuilder();
while (true) {
String readLine = bufferedReader.readLine();
if (readLine == null) {
break;
}
sb.append(readLine);
}
bufferedReader.close();
str = sb.toString();
} else {
Log.e(TAG, "Response Code: " + httpsURLConnection.getResponseCode());
}
httpsURLConnection.disconnect();
} catch (IOException e) {
Log.e(TAG, "Error fetching public IP: " + e.getMessage());
}
return str;
}
@Override
public void onPostExecute(String str) {
OnIPFetchCompletedListener onIPFetchCompletedListener = this.listener;
if (onIPFetchCompletedListener != null) {
onIPFetchCompletedListener.onIPFetchCompleted(str);
}
}
}