Удалось найти, что для входа на aliexpress (как в мобильном приложении) надо послать POST запрос вида
adash.m.taobao.com/rest/sur?ak=21371611&av=5.1.7&c...
В дополнение к запросу должна идти форма, видимо, с паролем и email'ом пользователя. Но почему-то данные как файлы передаются (stm_c, stm_d, stm_p - и что в них - непонятно).
А еще как-то значение параметра s должно считаться.
Никто не разбирался как это работает?
public static C5009a m18977a(int i, String str, Map<String, Object> map, boolean z) {
Exception e;
DataOutputStream dataOutputStream;
Throwable th;
C5009a c5009a = new C5009a();
if (TextUtils.isEmpty(str)) {
return c5009a;
}
try {
HttpURLConnection httpURLConnection = (HttpURLConnection) new URL(str).openConnection();
if (httpURLConnection != null) {
if (i == 2 || i == 3) {
httpURLConnection.setDoOutput(true);
}
httpURLConnection.setDoInput(true);
if (i == 2 || i == 3) {
try {
httpURLConnection.setRequestMethod("POST");
} catch (ProtocolException e2) {
e2.printStackTrace();
return c5009a;
}
}
httpURLConnection.setRequestMethod("GET");
httpURLConnection.setUseCaches(false);
httpURLConnection.setConnectTimeout(SnsAuthErrorInfo.GOOGLE_AUTH_FAILED_PARAM_ACTIVITY_IS_NULL);
httpURLConnection.setReadTimeout(60000);
httpURLConnection.setRequestProperty("Connection", "close");
if (z) {
httpURLConnection.setRequestProperty("Accept-Encoding", "gzip,deflate");
}
httpURLConnection.setInstanceFollowRedirects(true);
byte[] bArr = null;
if (i == 2 || i == 3) {
byte[] bArr2;
int length;
if (i == 2) {
httpURLConnection.setRequestProperty("Content-Type", "multipart/form-data; boundary=GJircTeP");
} else if (i == 3) {
httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
}
if (map == null || map.size() <= 0) {
bArr2 = null;
} else {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
Set keySet = map.keySet();
String[] strArr = new String[keySet.size()];
keySet.toArray(strArr);
for (String str2 : C5014f.m18980a().m18981a(strArr, true)) {
if (i == 2) {
bArr = (byte[]) map.get(str2);
if (bArr != null) {
try {
byteArrayOutputStream.write(String.format("--GJircTeP\r\nContent-Disposition: form-data; name=\"%s\"; filename=\"%s\"\r\nContent-Type: application/octet-stream \r\n\r\n", new Object[]{str2, str2}).getBytes());
byteArrayOutputStream.write(bArr);
byteArrayOutputStream.write("\r\n".getBytes());
} catch (IOException e3) {
e3.printStackTrace();
}
}
} else if (i == 3) {
String str3 = (String) map.get(str2);
if (byteArrayOutputStream.size() > 0) {
try {
byteArrayOutputStream.write(("&" + str2 + "=" + str3).getBytes());
} catch (IOException e32) {
e32.printStackTrace();
}
} else {
try {
byteArrayOutputStream.write((str2 + "=" + str3).getBytes());
} catch (IOException e322) {
e322.printStackTrace();
}
}
}
}
if (i == 2) {
try {
byteArrayOutputStream.write("--GJircTeP--\r\n".getBytes());
} catch (IOException e3222) {
e3222.printStackTrace();
}
}
bArr2 = byteArrayOutputStream.toByteArray();
}
if (bArr2 != null) {
length = bArr2.length;
} else {
length = 0;
}
httpURLConnection.setRequestProperty("Content-Length", String.valueOf(length));
bArr = bArr2;
}
DataOutputStream dataOutputStream2 = null;
try {
byte[] bArr3;
int read;
httpURLConnection.connect();