模拟浏览器发送http请求(不够详细篇)

本文深入探讨了使用Java进行HTTP POST请求的方法,详细解释了如何设置连接超时、读取超时,以及如何通过OutputStream和OutputStreamWriter发送POST请求数据。同时,文章还对比了客户端和服务端在Socket对象上使用getInputStream和getOutputStream的区别。

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

                BufferedReader buffReader = null;
		OutputStream outStream = null;
		OutputStreamWriter outStreamWriter = null;
		InputStream inStream = null;		


	                 url = new URL(dataURL);
			con = url.openConnection();
			con.setConnectTimeout(120000);
			con.setReadTimeout(120000);
            
			con.setDoInput(true);
			con.setDoOutput(true);
		    outStream = con.getOutputStream();
            //以上三行是为了将get请求转换为post请求

		    outStreamWriter = new OutputStreamWriter(outStream);
		    outStreamWriter.write("");
		    inStream = con.getInputStream();
		    buffReader = new BufferedReader(new InputStreamReader(inStream));
            while ((line = buffReader.readLine()) != null) {
				line = line.trim();
            }

客户端上的使用

1.getInputStream方法可以得到一个输入流,客户端的Socket对象上的getInputStream方法得到输入流其实就是从服务器端发回的数据。

2.getOutputStream方法得到的是一个输出流,客户端的Socket对象上的getOutputStream方法得到的输出流其实就是发送给服务器端的数据。

服务器端上的使用

1.getInputStream方法得到的是一个输入流,服务端的Socket对象上的getInputStream方法得到的输入流其实就是从客户端发送给服务器端的数据流。

2.getOutputStream方法得到的是一个输出流,服务端的Socket对象上的getOutputStream方法得到的输出流其实就是发送给客户端的数据。

其实那几行代码还是不明白。。。特别是outStreamWriter.write("");。。。。。十脸懵逼。。。。

或许这行代码是为了写入请求参数。。。。刚好这个url 的post请求参数其实是没有的。。。网上的别人的写法。。。

暂放这儿。。。。似乎模模糊糊的懂了一点点。。。   //对的,就是没有参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值