今天来分享一下我折腾 setRequestProperty
的过程,真是搞得我头大,不过总算是弄明白。
我就是想简单发个 HTTP 请求,获取点数据。你知道的,就跟平时上网一样,浏览器咔咔一点,数据就来。但轮到自己动手写代码,就没那么简单。
我先是创建一个 HttpURLConnection
对象,这玩意儿就像一个邮递员,负责帮你送信(发送请求)和收信(获取响应)。然后我设置请求的 URL,就像告诉邮递员你要把信送到哪里。
就是让我头疼的 setRequestProperty
。这东西是用来设置请求头的,就像在信封上写上“加急”、“保密”之类的标记。一开始我完全不知道要设置就瞎写几个,结果服务器根本不搭理我,返回的全是些乱七八糟的东西。
没办法,我只好去网上查资料,看看别人都是怎么设置的。这一查才知道,原来请求头里有这么多门道。比如 Content-Type
要告诉服务器你发送的数据是什么格式,User-Agent
要告诉服务器你用的是什么浏览器,等等。
我照着网上的例子,一个个设置 setRequestProperty
,感觉自己像个间谍,在伪装自己的身份,生怕被服务器识破。比如:
- Content-Type: 我设置成
application/json
,告诉服务器我发送的是 JSON 格式的数据。 - User-Agent: 我随便写个浏览器的名字,假装自己是个浏览器。
设置好请求头之后,我就开始发送请求。这就像把信投进邮筒,接下来就是等待邮递员把信送到,然后把回信带给我。
获取响应的过程也挺有意思,服务器会返回一个状态码,告诉你这回请求是成功还是失败。如果状态码是 200,那就表示成功,你可以拿到你想要的数据。如果状态码是 404,那就表示你请求的资源不存在,就像你寄信的地址写错,邮递员找不到地方。
我终于拿到服务器返回的数据,心里别提多高兴。虽然过程有点曲折,但总算是搞定 setRequestProperty
,以后再也不怕发 HTTP 请求。
总结一下这回实践过程:
- 创建
HttpURLConnection
对象。 - 用
setRequestProperty
设置请求头。 - 发送HTTP请求。
- 获取服务器响应状态码与内容数据。
这回的分享就到这里,希望大家也能少走弯路,顺利搞定 setRequestProperty
!