Java的HTTP通信

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 
  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值