如何在java中为httpClient编写一个程序,使用post方法处理64位编码的消息,并从服务器接收答案?

如何在java中为httpClient编写一个程序,使用post方法处理64位编码的消息,并从服务器接收答案?,java,Java,在java eclipse中使用http,我必须使用给定的url发布一条消息,其中http授权的标题为64位基本编码的消息,正文包含诸如授权类型、密码、用户名、范围等信息,用户名。我想要客户端代码,使用它我应该能够从服务器获取消息,并将该消息显示为输出 下面是一个示例代码 URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); String userpass

在java eclipse中使用http,我必须使用给定的url发布一条消息,其中http授权的标题为64位基本编码的消息,正文包含诸如授权类型、密码、用户名、范围等信息,用户名。我想要客户端代码,使用它我应该能够从服务器获取消息,并将该消息显示为输出

下面是一个示例代码

URL obj = new URL(url);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    String userpass = username + ":" + password;
    String basicAuth = "Basic " + javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes());

    con.setRequestProperty ("Authorization", basicAuth);

    con.setRequestMethod("POST");
    con.setConnectTimeout(timeout);
    con.setDoOutput(true);
    con.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
    OutputStreamWriter wr = new OutputStreamWriter(con.getOutputStream ());
    wr.write(requestString);
    wr.flush ();
    wr.close ();
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();

    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();

    return response.t

谢谢…….您的计划给了我一个想法,帮助我实现了预期的产出。参考这一点,我编写了我的程序,我已经在下面发布了。
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
public class HttpClassExample {
public static void main(String[] args) throws Exception {
  HttpClassExample http = new HttpClassExample();
  System.out.println("Testing Send Http POST request");
http.sendPost();
  }
  // HTTP POST request
private void sendPost() throws Exception {
String userName="world@gmail.com";
String password="world@123";
  String url = "https://world.com:444/idsrv/issue/oauth2/token";
URL obj = new URL(url);
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
  //add reuqest header
String ClientId = "mmclient";
String ClientSecret = "norZGs5vkw+cmlKROazauMrZInW9jokxIRCmndMwc+o=";
String userpass = ClientId + ":" + ClientSecret;
String basicAuth = "Basic "+" "
+ javax.xml.bind.DatatypeConverter.printBase64Binary(userpass
.getBytes());
con.setRequestProperty("Authorization", basicAuth);
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type","Application/x-www-form-urlencoded");
String urlParameters = "grant_type=password&username="+userName+"&password="+password+"&scope=urn:meetingmanagerservice";
  // Send post request
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
  int responseCode = con.getResponseCode();
System.out.println("\nSending 'POST' request to URL : " + url);
System.out.println("Post parameters : " + urlParameters);
System.out.println("Response Code : " + responseCode);
  BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
  while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
  //print result
System.out.println(response.toString());
  }
 }