javascript - 带空格的 Httpurlconnection 参数
问题描述
我正在尝试使用httpurlconnection
将参数发布到 URL。发布没有空格的httpurlconnection
值时似乎发布得很好,但是当submit=Login Account
包含空格的内容时会出现问题。我尝试使用加号而%20
不是空格,但是我未能成功提交表单。
String requestParameters =“password=test123&confirm=test123&id=2869483&submit=Login Account”;
发帖功能
public static String postURL(String urlString, String parameters, int timeout, Proxy proxy, String accept, String acceptEncoding, String userAgent, String acceptLanguage) throws IOException {
URL address = new URL(urlString);
HttpURLConnection httpConnection = (HttpURLConnection) address.openConnection(proxy);
httpConnection.setRequestMethod("POST");
httpConnection.addRequestProperty("Accept", accept);
httpConnection.addRequestProperty("Accept-Encoding", acceptEncoding);
httpConnection.addRequestProperty("User-Agent", userAgent);
httpConnection.addRequestProperty("Accept-Language", acceptLanguage);
httpConnection.addRequestProperty("Connection", "keep-alive");
httpConnection.setDoOutput(true);
httpConnection.setConnectTimeout(timeout);
httpConnection.setReadTimeout(timeout);
DataOutputStream wr = new DataOutputStream(httpConnection.getOutputStream());
wr.writeBytes(parameters);
wr.flush();
wr.close();
httpConnection.disconnect();
BufferedReader in = new BufferedReader(new InputStreamReader(httpConnection.getInputStream()));
StringBuffer response = new StringBuffer();
String inputLine;
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
String result = response.toString();
in.close();
return result;
}
使用发布功能请求发布
*
ArrayList<unlock> ns = new ArrayList<>();
try {
ns = methods.UnlockRequest("register@test.com");// gets urls from database.
} catch (IOException e) {
e.printStackTrace();
}
String s = ns.get(0).toString(); // gets first url in list
url=s; // sets url to s
String[] st= url.split("id="); // splits url to get id
System.out.println(url);
System.out.println(st[1]);
System.out.println("accounts class reached");
String requestParameters = null;
requestParameters = "password=test123&confirm=test123&id=2869483&submit=Login Account”;
System.out.println(requestParameters);
ConnectionSettings connectionSettings = Variables.get().getConnectionSettings();
String creation = "";
System.out.println(Variables.get().getCaptchaSolution());
try {
if (connectionSettings.isProxyCreation()) {
creation = HTTPRequests.postURL(url, requestParameters, 30000, connectionSettings.getProxy(), connectionSettings.getAcceptCriteria(), connectionSettings.getAcceptEncoding(),
connectionSettings.getUserAgent(), connectionSettings.getAcceptLanguage());
}
} catch (FileNotFoundException e) {
System.out.println(ColoredText.criticalMessage("Error: Your IP is banned from requesting. Ending script."));
Variables.get().setStopScript(true);
} catch (IOException e) {
e.printStackTrace();
Variables.get().setStopScript(true);
}
*
解决方案
推荐阅读
- java - 使用正则表达式在Java中拆分字符串数组
- python - 如何在 Python 3 中自定义我自己的比较函数
- python - 协助解决问题
- html - 具有 href 属性的元素在单击时是否始终有效
- spring-boot - ClassNotFoundException: org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer 在 WebLogic 中部署战争时
- python - Celery shared_task 中的模拟方法调用
- generics - kotlin 泛型和运算符重载
- python - 根据来自另一个数据帧的值更新数据帧
- c# - 查询多对多关系,然后在表格中显示结果
- python - Django Rest Framework-有效地检索反向外键上的相关字段