Java 在windows中下载以下wget命令的响应

Java 在windows中下载以下wget命令的响应,java,windows,https,wget,Java,Windows,Https,Wget,我想在windows中下载以下wget命令的响应: wget--无检查证书--发布数据'login=xxx&password=yyy'-O- 此命令在linux中运行良好,但在windows中不起作用。我知道如果我在windows上安装wget,它就会工作。我想在不安装的情况下运行它。我想为上面指定的url选择上面的wget命令来实现目标 到目前为止,我已经尝试了下面的代码片段,但它只返回页面的html信息(源代码),而没有使用用户名和密码进入主页 import java.io.IOExcept

我想在windows中下载以下wget命令的响应:

wget--无检查证书--发布数据'login=xxx&password=yyy'-O-

此命令在linux中运行良好,但在windows中不起作用。我知道如果我在windows上安装wget,它就会工作。我想在不安装的情况下运行它。我想为上面指定的url选择上面的wget命令来实现目标

到目前为止,我已经尝试了下面的代码片段,但它只返回页面的html信息(源代码),而没有使用用户名和密码进入主页

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.X509Certificate;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;

import org.apache.commons.codec.binary.Base64;

public class ConnectToUrlUsingBasicAuthentication
{
    static
    {
        disableSslVerification();
    }

    private static void disableSslVerification()
    {
        try
        {
            // Create a trust manager that does not validate certificate chains
            TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {
                public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                    return null;
                }
                public void checkClientTrusted(X509Certificate[] certs, String authType) {
                }
                public void checkServerTrusted(X509Certificate[] certs, String authType) {
                }
            }
            };

            // Install the all-trusting trust manager
            SSLContext sc = SSLContext.getInstance("SSL");
            sc.init(null, trustAllCerts, new java.security.SecureRandom());
            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());

            // Create all-trusting host name verifier
            HostnameVerifier allHostsValid = new HostnameVerifier()
            {
                public boolean verify(String hostname, SSLSession session)
                {
                    return true;
                }
            };

            // Install the all-trusting host verifier
            HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
        }
        catch (NoSuchAlgorithmException e)
        {
            e.printStackTrace();
        }
        catch (KeyManagementException e)
        {
            e.printStackTrace();
        }
    }
    public static void main(String[] args)
    {
        try
        {
            String webPage = "https://AAA.BBB.CCC.DDD:1234/login";
            String name = "xxx";
            String password = "yyy";

            String authString = name + ":" + password;
            System.out.println("auth string: " + authString);
            byte[] authEncBytes = Base64.encodeBase64(authString.getBytes());
            String authStringEnc = new String(authEncBytes);
            System.out.println("Base64 encoded auth string: " + authStringEnc);

            URL url = new URL(webPage);
            URLConnection urlConnection = url.openConnection();
            urlConnection.setRequestProperty("Authorization", "Basic " + authStringEnc);
            javax.net.ssl.HostnameVerifier myHv = new javax.net.ssl.HostnameVerifier(){
                public boolean verify(String
                        hostName,javax.net.ssl.SSLSession session) { return true; } 
            };
            ((HttpsURLConnection) urlConnection).setHostnameVerifier(myHv); urlConnection.setDoOutput(true);
            urlConnection.setDoInput(true);

            InputStream is = urlConnection.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);

            int numCharsRead;
            char[] charArray = new char[1024];
            StringBuffer sb = new StringBuffer();
            while ((numCharsRead = isr.read(charArray)) > 0)
            {
                sb.append(charArray, 0, numCharsRead);
            }
            String result = sb.toString();

            System.out.println("*** BEGIN ***");
            System.out.println(result);
            System.out.println("*** END ***");
        }
        catch (MalformedURLException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}

您正在搜索的是HTTP POST请求。@罗伯特:是的,这是一个HTTP POST请求,我需要一个在Windows上运行的WGET命令的替代命令。如果您有正确的关键字,为什么不在这里使用Stackoverflow上的POST示例?搜索
HTTPUrlConnection POST
,您会发现许多类似的问题。