我做了一个应用程序,基本上只是发布一个表单登录然后使用API获取数据。现在网站改变了它的工作方式,这样当您加载登录页面时,它会将您重定向到查询字符串中的随机字符串和表单操作中的不同随机字符串。
由于我不能再向提交页面发出HTTPS POST请求,我需要一种方法来加载登录页面,等待重定向,然后再等待加载,然后使用表单操作作为HTTPS POST URL。
如何加载页面,特别是等待它重定向然后加载?
我现在正在使用的是:
HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection();
urlConnection.setRequestMethod("POST");
urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
urlConnection.setRequestProperty("User-Agent", USER_AGENT);
urlConnection.setConnectTimeout(5000);
String urlParameters = "ctl00$ContentPlaceHolder1$UsernameTextBox="+ URLEncoder.encode(inumber, "UTF-8") + "&ctl00$ContentPlaceHolder1$PasswordTextBox="+ URLEncoder.encode(password, "UTF-8");
urlConnection.setRequestProperty("Content-Length", "" +
Integer.toString(urlParameters.getBytes().length));
urlConnection.setUseCaches(false);
urlConnection.setDoInput(true);
urlConnection.setDoOutput(true);
urlConnection.setChunkedStreamingMode(0);
DataOutputStream out = new DataOutputStream(urlConnection.getOutputStream());
out.writeBytes(urlParameters);
out.flush();
out.close();
答案 0 :(得分:0)
您有几个选择: