http status 500 – internal server error_使用HttpURLConnection发起HTTP请求

4f0b7727fbec0a7963ff57824f07829b.png
技术公众号:Java In Mind(Java_In_Mind),欢迎关注!

HttpURLConnection介绍

支持 HTTP 特定功能的 URLConnection。有关详细信息,请参阅 the spec 。
每个 HttpURLConnection 实例都可用于生成单个请求,但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络。请求后在 HttpURLConnection 的 InputStream 或 OutputStream 上调用 close() 方法可以释放与此实例关联的网络资源,但对共享的持久连接没有任何影响。如果在调用 disconnect() 时持久连接空闲,则可能关闭基础套接字。

简单来说,HttpURLConnection就是Java提供的发起HTTP请求的基础类库,提供了HTTP请求的基本能力,不过封装比较少,使用时都要自己设置,也需要自己处理请求流和响应流,虽然实际使用比较少,但也可以作为学习研究研究,下面来简单使用一下:

模拟服务

@RestController

发起POST请求

HttpURLConnection 

发起GET请求

HttpURLConnection 

错误处理

HttpURLConnection 

重定向处理

HttpURLConnection 

核心API

  • 发送请求体需要:setDoOutput(true)
  • 设置请求头:setRequestProperty
  • 获取请求头:getHeaderField
  • 设置超时
  • 连接超时:setConnectTimeout
  • 读取超时:setReadTimeout
  • 获取状态码:getResponseCode
  • 异常流:getErrorStream

总结

这里简单使用了HttpURLConnection作为Http客户端的实现,实现步骤比较繁琐,可读性也不是很友好,不过使用Java原生的类库,无侵入性,无其他依赖。

参考

Do a Simple HTTP Request in Java | Baeldung​www.baeldung.com
7579e6c62ea19910208cfb6ac3468515.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值