HttpURLConnection post 发送参数及图片 及接收测试

1、发送数据

String urlstr="http://10.21.38.103/testAction!test.action?kkbh="+kkbh; 
URL url = new URL(urlstr);
		HttpURLConnection huc=(HttpURLConnection)url.openConnection();   
	

		huc.setRequestProperty("content-type", "text/html");
		huc.setRequestProperty("Content-Type","image/jpeg");
		huc.setDoOutput(true);
		huc.setDoInput(true);
		huc.setRequestMethod("POST");         
		huc.setConnectTimeout(500000);		
		OutputStream pw=huc.getOutputStream();
		pw.write(fileData);  
		pw.flush();
		pw.close();   
		BufferedReader br=new BufferedReader(new InputStreamReader(huc.getInputStream()));   


2、接收数据

package modules.action;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;

import modules.request.TestReq;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

@Component("testAction")
@Scope("prototype")
public class TestAction extends TestReq {
	private static final Logger logger = LoggerFactory.getLogger(TestAction.class);
	private static final long serialVersionUID = 1L;
	protected String kkbh= "";
	protected String fxlx= "";
	protected String cdh= "";
	protected String hphm= "";
	protected String gcsj= "";

	/**
	 * 查询
	 * @return
	 */
	public void test() {
		
	//	logger.info(kkbh);

		//getResponse().setContentType("Content-Type: text/plain;charset=UTF-8");
		getResponse().setContentType("Content-Type: text/html; charset=UTF-8");
		getResponse().setCharacterEncoding("UTF-8");
		getResponse().setHeader("pragma", "no-cache");   
		getResponse().setHeader("Content-Type", "text/plain;charset=UTF-8");  
		getResponse().setHeader("cache-control", "no-cache");
		try {
			final PrintWriter out=getResponse().getWriter();
			out.write("success");

		Enumeration<String> name = getRequest().getParameterNames();
		while(name.hasMoreElements()) {
			String myName = name.nextElement();
			if(myName.length()<=0)continue;
			out.write(myName+"="+getRequest().getParameter(myName));
			logger.info(myName+"="+getRequest().getParameter(myName));
		}
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		 
			try {
				  InputStream inStream = getRequest().getInputStream();
				     downlodeImagelocal(inStream);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} 
		     
	}

	/**
	 * @Description:下载图片图片到默认路径
	 * @author zhangguoli2
	 */
	public    String downlodeImagelocal( InputStream tis) {
		StringBuilder pictureName;
//		InputStream tis = null;
		pictureName = new StringBuilder();
		OutputStream outZos = null;
		String localurl = "";
  if(null==tis)return "";
		try {
			pictureName.append(getCurrentDatetimeString() + "uploadpic.jpg");

			localurl = "E:\\images\\" + pictureName.toString();

			File outFile = new File(localurl);
			outZos = new FileOutputStream(outFile);
//			tis = downLoadPicture(picurl);
			//	tis =getImageFromNetByUrl(picurl);
			// 创建缓冲区
			byte[] buffer = new byte[1024];
			int len = 0;
			while ((len = tis.read(buffer)) != -1) {
				outZos.write(buffer, 0, len);
			}
			return localurl;
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (null != tis) {
					tis.close();
				}
				outZos.flush();
				outZos.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return localurl;
	}
	/**
	 * 获取当前时间字符串,格式:"yyyy-MM-dd HH:mm:ss"
	 * 
	 * @return 时间字符串
	 */
	public  String getCurrentDatetimeString() {
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_ddHH_mm_ss");
		Date curDate = new Date(System.currentTimeMillis()); // 获取当前时间
		return formatter.format(curDate);
	}
	public String getKkbh() {
		return kkbh;
	}

	public void setKkbh(String kkbh) {
		this.kkbh = kkbh;
	}

	public String getFxlx() {
		return fxlx;
	}

	public void setFxlx(String fxlx) {
		this.fxlx = fxlx;
	}

	public String getCdh() {
		return cdh;
	}

	public void setCdh(String cdh) {
		this.cdh = cdh;
	}

	public String getHphm() {
		return hphm;
	}

	public void setHphm(String hphm) {
		this.hphm = hphm;
	}

	public String getGcsj() {
		return gcsj;
	}

	public void setGcsj(String gcsj) {
		this.gcsj = gcsj;
	}
	

}


要创建一个Java的POST请求项目,可以按照以下步骤进行: 1. 确定使用的开发工具和框架,例如Eclipse、IntelliJ IDEA和SpringBoot等。 2. 创建一个新的Java项目。根据使用的开发工具,选择创建一个Java项目,并配置好相关的开发环境。 3. 导入所需的依赖包。如果使用框架如SpringBoot,可以通过添加相关依赖包来简化开发过程。例如,可以添加Spring Web、Apache HttpClient等依赖包。 4. 创建POST请求的Java类。在项目中创建一个Java类作为POST请求的入口。可以使用Java的HttpURLConnection或者Apache HttpClient等工具发送POST请求。 5. 设置POST请求的URL参数。在Java类中设置需要发送POST请求的URL和相关参数。可以通过构建一个URL对象,并使用URLConnection或者HttpClient对象设置POST请求的参数。 6. 发送POST请求并接收响应。通过发送POST请求,并获取到响应的数据。可以使用URLConnection的getOutputStream和getInputStream方法发送请求和接收响应,或者使用HttpClient的execute方法来发送请求和接收响应。 7. 处理响应数据。根据需要对接收到的响应数据进行处理。可以将响应数据解析成Java对象,或者对其进行其他操作。 8. 测试项目。编写针对POST请求的测试代码,并运行项目来验证POST请求的功能是否正常。 总结起来,创建一个Java的POST请求项目需要先导入所需的依赖包,然后创建一个Java类作为POST请求的入口,设置POST请求的URL参数发送POST请求并接收响应,最后进行响应数据的处理。通过这些步骤,就可以成功创建一个Java的POST请求项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值