概述
Java HTTP通信
1、任务简介
本部分任务属于杜老师《工程训练》中的任务3.1,本博客挑出其中的第一个普通任务和第一个挑战任务进行讲解,主要涉及了Java中HTTP通信的Get方式;
HTTP通信主要有两种方式POST方式和GET方式,前者通过HTTP消息实体发送数据给服务器,安全性高,数据传输大小没有限制,后者通过URL的查询字符串传递给服务器参数,以明文显示在浏览器地址栏,保密性差,最多传输2048个字符。但是GET请求并不是一无是处,因为GET请求大多用于查询(读取资源),效率高,POST请求用于注册、登录等安全性较高且向数据库中写入数据的操作;
2、基本任务和代码
(1)任务1
1)任务内容
编写一个java application应用程序,完成以下功能:此程序可以建立HTTP通信,以GET方式向WEB服务器提交信息,并接收WEB服务器返回的响应。
2)任务代码
在进行程序的编写前我们首先需要学习Java中的URL类,Java的URL类可以让访问网络资源就像是访问你本地的文件夹一样方便快捷,我们可以通过语句URL url=new URL(“网址”);创建一个URL类的实例,之后就可以对这个实例进行操作;
虽然实例已经创建完了,但是在访问这个URL上的资源和内容之前,还需要打开与这些资源和内容的连接,此时可以通过使用openConnection来完成这一操作,连接的语句为URLConnection connection=url.openConnection();使用openConnection并不需要参数,并且在操作成功之后,它会返回URLConnection的实例;
在Java中Stream代表一种数据流,在此程序中需要使用InputStream获取URL内容的字节流,然后使用InputStreamReader将字节流包装为字符串流,此时还需要指定编码格式为utf-8码,这样就可以防止显示结果为乱码,之后还需要使用BufferedReader类创建一个实例来存放转换后的字符;
之后我们还需要使用StringBuilder方法,它比String更加高效,故可在字符串较多时使用,在进行数据流的操作后还需要使用close关闭流,并且秉承“后开先关闭”的原则;
我选择使用Get方法访问优酷的官网https://www.youku.com,我使用Myeclipse编写该程序,类名为Get,程序代码如下:
import java.io.BufferedReader;//导入java.io包下的BufferedReader类
import java.io.IOException;//导入java.io包下的IOException类
import java.io.InputStream;//导入java.io包下的InputStream类
import java.io.InputStreamReader;//导入java.io包下的InputStreamReader类
import java.net.MalformedURLException;//导入java.net包下的MalformedURLException类
import java.net.URL;//导入java.net包下的URL类
import
最后
以上就是坚强花生为你收集整理的Java的HTTP通信Java HTTP通信的全部内容,希望文章能够帮你解决Java的HTTP通信Java HTTP通信所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复