java代码 post 百度
时间: 2023-05-25 11:04:05 浏览: 53
以下是使用Java发送HTTP POST请求并获取响应的代码示例:
```
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
public class HttpPostExample {
public static void main(String[] args) {
try {
// 设置请求参数
String urlParameters = "param1=" + URLEncoder.encode("value1", "UTF-8")
+ "¶m2=" + URLEncoder.encode("value2", "UTF-8");
byte[] postData = urlParameters.getBytes("UTF-8");
int postDataLength = postData.length;
// 创建URL对象和HTTP连接对象
URL url = new URL("http://www.baidu.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// 设置HTTP连接属性
conn.setDoOutput(true);
conn.setInstanceFollowRedirects(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("charset", "utf-8");
conn.setRequestProperty("Content-Length", Integer.toString(postDataLength));
conn.setUseCaches(false);
// 写入POST数据
OutputStream os = conn.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os, "UTF-8");
osw.write(urlParameters);
osw.flush();
osw.close();
// 获取响应数据
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
br.close();
System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
以上代码将向百度发送一个POST请求,并将请求参数设置为 "param1=value1" 和 "param2=value2"。 响应数据将被读取并输出在控制台上。请注意,您需要将URL参数、请求方法和请求属性更改为适合您的实际需要的值。