http协议客户端向服务器端请求时一般需要发送的内容

out.println("GET /shopping/index.html HTTP/1.1");//请求行 包括请求方式,文件路径, http协议版本(必写)
请求头.... out.println(
"Aceept: */*");//客户端能够处理的文件类型(不是必须) out.println("Host: 192.168.1.111:8080");//客户端要访问的主机及服务器的端口(必写),否则会出现400(请求错误) out.println("Connection: close");//传输完成后和服务器的链接状态(不是必须) out.println();//空行用来区分请求头和请求体(必写)
请求体....

 

改用URL和URLConnection来处理更为方便            
       //
URL这个类通过获取URLConnection连接器的对象(也就是将连接封装成了对象:java中内置的可以解析的具体协议的对象+socket) //另外,Socket 和 DatagramSocket 是负责传输层工作的,而URL或者URLConnection是负责应用层工作的 //所以网络编程用URL是比较好的(只保留服务器端的应答体,应答消息头和应答消息行不会显示) URL url = new URL("http://localhost:8080/shopping/login.html?name=HAHA"); URLConnection con = url.openConnection(); System.out.println(con); System.out.println(url.getProtocol()); System.out.println(url.getPort()); System.out.println(url.getPath()); System.out.println(url.getFile()); System.out.println(url.getQuery()); /* http 协议 8080 端口 /shopping/login.html 路径 /shopping/login.html?name=HAHA 文件名(包括path部分 + query部分) name=HAHA 查询部分(也就是参数部分) */ InputStream in = con.getInputStream(); byte[] bt = new byte[1024*2]; int len = in.read(bt); System.out.println(new String(bt, 0, len, "utf-8"));

 

转载于:https://www.cnblogs.com/hujunzheng/p/4054505.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值