JAVA使用原始HttpURLConnection发送POST数据

本文介绍如何在Java中利用HttpURLConnection类发送POST请求,通过OutputStream以键值对的形式提交数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public static void main(String[] args) throws Exception{
		String urlPath = new String("http://localhost:8080/Test1/HelloWorld");   
		//String urlPath = new String("http://localhost:8080/Test1/HelloWorld?name=丁丁".getBytes("UTF-8"));
		
		
		String param="name="+URLEncoder.encode("丁丁","UTF-8");
		
		//建立连接
		URL url=new URL(urlPath);
		HttpURLConnection httpConn=(HttpURLConnection)url.openConnection();
		
		//设置参数
		httpConn.setDoOutput(true);		//需要输出
		httpConn.setDoInput(true);		//需要输入
		httpConn.setUseCaches(false); 	//不允许缓存
		httpConn.setRequestMethod("POST"); 		//设置POST方式连接
		
		//设置请求属性
		httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
		httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
		httpConn.setRequestProperty("Charset", "UTF-8");
		
		//连接,也可以不用明文connect,使用下面的httpConn.getOutputStream()会自动connect
		httpConn.connect();
			
		//建立输入流,向指向的URL传入参数
		DataOutputStream dos=new DataOutputStream(httpConn.getOutputStream());
		dos.writeBytes(param);
		dos.flush();
		dos.close();
		
		//获得响应状态
		int resultCode=httpConn.getResponseCode();
		if(HttpURLConnection.HTTP_OK==resultCode){
			StringBuffer sb=new StringBuffer();
			String readLine=new String();
			BufferedReader responseReader=new BufferedReader(new InputStreamReader(httpConn.getInputStream(),"UTF-8"));
			while((readLine=responseReader.readLine())!=null){
				sb.append(readLine).append("\n");
			}
			responseReader.close();
			System.out.println(sb.toString());
		}	

	}

JAVA使用HttpURLConnection发送POST数据是依靠OutputStream流的形式发送

具体编码过程中字符串是用“name=XXX”这种形式发送键值对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值