Http协议:客户端提交数据给服务端和从服务端获得数据,像WebView也是向百度的服务端发出一条Http请求,服务端返回HTML页面,客户端(浏览器)解析后展示出页面

Posted ly570

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Http协议:客户端提交数据给服务端和从服务端获得数据,像WebView也是向百度的服务端发出一条Http请求,服务端返回HTML页面,客户端(浏览器)解析后展示出页面相关的知识,希望对你有一定的参考价值。

提交数据和获得数据的方式有很多,这里介绍一种,使用HttpURLConnection来向服务器提交数据或者获得数据。

获得数据:

//传入网址,获得请求网页数据(XML文件数据或JSON文件数据)
public static String sendHttpRequest(String address)
HttpURLConnection connection=null;
try
URL url=new URL(address);
connection=(HttpURLConnection)url.openConnection();
//设置请求方式:GET为从服务器获得数据,POST为提交数据
connection.setRequestMethod("GET");
//设置连接最长超时时间(单位毫秒)
connection.setConnectTimeout(8000);
//设置读取最长超时时间(单位毫秒)
connection.setReadTimeout(8000);
connection.setDoInput(true);
connection.setDoOutput(true);
//获取到的数据输入流(InputStream为抽象类)
InputStream in=connection.getInputStream();
//对输入流进行读取
BufferedReader reader=new BufferedReader(new InputStreamReader(in));
StringBuffer response = new StringBuffer();
String line;
while((line=reader.readLine()) != null)
response.append(line);

return response.toString();

catch (Exception e)
e.printStackTrace();
return e.getMessage();
finally
if(connection!=null)
connection.disconnect();

提交数据: 

public static void submit(String address)
HttpURLConnection connection=null;
try
//设置为提交模式
connection.setRequestMethod("POST");
DataOutputStream out=new DataOutputStream(connection.getOutputStream());
out.writeBytes("username=admin&password=123456");//数据与数据之间用&分割
catch (Exception e)
e.printStackTrace(http://www.amjmh.com/v/);
finally
if(connection!=null)
connection.disconnect();


以上是关于Http协议:客户端提交数据给服务端和从服务端获得数据,像WebView也是向百度的服务端发出一条Http请求,服务端返回HTML页面,客户端(浏览器)解析后展示出页面的主要内容,如果未能解决你的问题,请参考以下文章

HTTP协议图解

51. Socket服务端和客户端使用TCP协议通讯 | 厚土Go学习笔记

2.图解HTTP-HTTP协议

客户端是如何上传数据到FTP服务器和从FTP服务器下载文件的?

HTTP协议

SuperSocket与Netty之实现protobuf协议,包括服务端和客户端