带有空格的Httpurlconnection参数

时间:2019-03-20 23:56:06

标签: javascript java connection http-post 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);
            }

*

0 个答案:

没有答案