博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java GET和POST请求
阅读量:5050 次
发布时间:2019-06-12

本文共 3110 字,大约阅读时间需要 10 分钟。

     从表面来看GET和POST请求:

    GET请求是在url后直接附上请求体,url和请求体之间用"?"分割,不同参数之间用"&"分隔,%XX中的XX为该符号以16进制表示的ASCII,如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密。

    POST把提交的数据则放置在是HTTP包的包体中,Post没有限制提交的数据。Post比Get安全,当数据是中文或者不敏感的数据,则用get,因为使用get,参数会显示在地址,对于敏感数据和不是中文字符的数据,则用post

Java中get请求:

package com.httpGetTest;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;public class HttpGetTest {	public static void main(String[] args) {		CreatHttpUrl creatUrl = new CreatHttpUrl();	    String url = CreatHttpUrl.creatUrl("teacher", "en", "zh-CHS");	    //System.out .print(url);	    	   // new readByGet().start();	    readData();	}	public static void readData()	{		try { 	    	CreatHttpUrl creatUrl = new CreatHttpUrl();		    String urlStr = CreatHttpUrl.creatUrl("teacher", "en", "zh-CHS");			URL url = new URL(urlStr);			URLConnection connection = url.openConnection();			InputStream is = connection.getInputStream();			InputStreamReader isr = new InputStreamReader(is);			BufferedReader bf = new BufferedReader(isr);						String line;			StringBuilder builder = new StringBuilder();			while((line = bf.readLine()) != null)			{				builder.append(line);			}						bf.close();			isr.close();			is.close();						System.out.println(builder);				    } catch (Exception e) {			e.printStackTrace();		}	}}

 

Java中的post请求:

package com.httpPostTest;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;public class HttpPostTest {	public static void main(String[] args) {		CreatHttpUrl creatUrl = new CreatHttpUrl();		String urlStr = "https://openapi.youdao.com/api";		String paramStr = creatUrl.createParam("good","en","zh-CHS");				System.out.println(paramStr);				try {			//设置请求相关设置			URL url = new URL(urlStr);			HttpURLConnection connection = (HttpURLConnection) url.openConnection();			connection.setRequestProperty("encoding", "UTF-8");			connection.setRequestMethod("POST");			connection.setDoInput(true);			connection.setDoOutput(true);						//post提交数据			OutputStream os = connection.getOutputStream();			OutputStreamWriter osw = new OutputStreamWriter(os);			BufferedWriter writer = new BufferedWriter(osw);						writer.write(paramStr);			writer.flush();						//读取获取的数据			InputStream is = connection.getInputStream();			InputStreamReader isr = new InputStreamReader(is);			BufferedReader br = new BufferedReader(isr);						String line;			StringBuilder builder = new StringBuilder();			while((line = br.readLine()) != null)			{				builder.append(line);			}						writer.close();			osw.close();			os.close();			br.close();			isr.close();			is.close();									System.out.print(builder.toString());					} catch (Exception e) {			e.printStackTrace();		}	}}

 

转载于:https://www.cnblogs.com/dreamyu/p/6850732.html

你可能感兴趣的文章
Mysql集合笔记
查看>>
HTTPS与SSL数字证书的必要性
查看>>
react之项目目录
查看>>
wamp自定义网站根目录及多站点配置
查看>>
GPT转MBR完整图文教程
查看>>
转载:《TypeScript 中文入门教程》 6、命名空间
查看>>
友情链接
查看>>
JavaScript测试工具
查看>>
QC学习三:Excel数据导入导出QC操作流程
查看>>
Combination Sum II
查看>>
对象数组的练习
查看>>
xamarin android 实现二维码带logo生成效果
查看>>
requirejs amd module load example
查看>>
实验13
查看>>
递归插入排序
查看>>
iOS学习之iOS程序名称及内容国际化(本地化)
查看>>
生产案例、Linux出现假死,怎么回事?
查看>>
树结构(三)---- 多路查找树
查看>>
07深入理解C指针之---指针类型和长度
查看>>
06深入理解C指针之---指针操作和比较
查看>>