一、Get请求方式

  以下是我写的一个用get请求方式获取api工厂中汇率的类。

package com.example;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;public class Testexchange {private static String source = "USD";private static String goal = "CNY";private static String money = "1200";private static String apiKey = "e9be757798f64552415b2de06b29f435";static String result = "";static BufferedReader in = null;public static void main(String[] args) throws IOException {getRate();}public static void getRateByOk() throws IOException{OkHttpClient client = new OkHttpClient();Request request = new Request.Builder().url("http://a.apix.cn/apixmoney/exchangerate/exchange?source=" + source + "&goal=" + goal + "&money="+ money).get().addHeader("accept", "application/json").addHeader("content-type", "application/json").addHeader("apix-key", apiKey).build();Response response = null;try {response = client.newCall(request).execute();} catch (IOException e) {e.printStackTrace();}System.out.println(response.body().string());}public static void getRate() throws IOException {String mUrl = "http://a.apix.cn/apixmoney/exchangerate/exchange?source=" + source + "&goal=" + goal + "&money="+ money;try {URL url = new URL(mUrl);URLConnection conn = url.openConnection();conn.setRequestProperty("connection", "Keep-Alive");conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");conn.setRequestProperty("accept", "application/json");conn.setRequestProperty("content-type", "application/json");conn.setRequestProperty("apix-key", apiKey);// 建立实际的连接
            conn.connect();// 获取所有响应头字段Map<String, List<String>> map = conn.getHeaderFields();// 遍历所有的响应头字段for (String key : map.keySet()) {System.out.println(key + "--->" + map.get(key));}// 定义 BufferedReader输入流来读取URL的响    应in = new BufferedReader(new InputStreamReader(conn.getInputStream()));String line;while ((line = in.readLine()) != null) {result += line;}} catch (Exception e) {System.out.println("发送GET请求出现异常!" + e);e.printStackTrace();}// 使用finally块来关闭输入流finally {try {if (in != null) {in.close();System.out.println(result);}} catch (Exception e2) {e2.printStackTrace();}}}
}

二、Post方式发起请求

  /*** 向指定 URL 发送POST方法的请求* * @param url*            发送请求的 URL* @param param*            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。* @return 所代表远程资源的响应结果*/public static String sendPost(String url, String param) {PrintWriter out = null;BufferedReader in = null;String result = "";try {URL realUrl = new URL(url);// 打开和URL之间的连接URLConnection conn = realUrl.openConnection();// 设置通用的请求属性conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");conn.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");// 发送POST请求必须设置如下两行conn.setDoOutput(true);conn.setDoInput(true);// 获取URLConnection对象对应的输出流out = new PrintWriter(conn.getOutputStream());// 发送请求参数
            out.print(param);// flush输出流的缓冲
            out.flush();// 定义BufferedReader输入流来读取URL的响应in = new BufferedReader(new InputStreamReader(conn.getInputStream()));String line;while ((line = in.readLine()) != null) {result += line;}} catch (Exception e) {System.out.println("发送 POST 请求出现异常!"+e);e.printStackTrace();}//使用finally块来关闭输出流、输入流finally{try{if(out!=null){out.close();}if(in!=null){in.close();}}catch(IOException ex){ex.printStackTrace();}}return result;}
}

转载于:https://www.cnblogs.com/shoneworn/p/httpget.html

http常见的get请求方式和set请求方式。相关推荐

  1. HTTP请求的8种请求方式以及常见的HTTP状态码总结

    完整的HTTP状态码见:菜鸟教程 HTTP8种请求方式的原文:HTTP的8种请求方式的简单介绍 目录 一.HTTP请求的8种请求方式 二.什么是HTTP状态码 三.HTTP状态码的分类 一.HTTP请 ...

  2. 请求合并的三种方式,大大提高接口性能!

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:https://zhenbianshu.github.io/ 将相似或重复请求在上游系统中合并后发往下游系统,可以大大降低下游 ...

  3. python接口自动化(十)--post请求四种传送正文方式(详解)

    简介 post请求我在python接口自动化(八)–发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先了 ...

  4. 请求合并的 3 种方式,大大提高接口性能!

    来源:zhenbianshu.github.io/ 前言 Hystrix Collapser BatchCollapser ConcurrentHashMultiset 小结 将相似或重复请求在上游系 ...

  5. 详解http post请求的几种数据传输方式

    在Http请求里post是其中比较常用的提交数据的请求方式,那么接下来就给大家详细讲解下post的几种数据传输格式,以及写法. Http的请求传输方式很多: 我们着重讲解Post方式.Post请求包含 ...

  6. HTTP的8种请求方式及常用请求方式的解析

    一.什么是HTTP? HTTP,即超文本传输协议,是一种实现客户端和服务器之间通信的响应协议,它是用作客户端和服务器之间的请求. 客户端(浏览器)会向服务器提交HTTP请求:然后服务器向客户端返回响应 ...

  7. http请求方式及传参方式

    http请求方式及传参方式 本文简单介绍一下http的几种请求方式以及集中传参方式的不同. 常见的几种请求方式 HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法. HTTP ...

  8. java rest 请求_REST 风格的请求方式

    REST:即 Representational State Transfer.(资源)表现层状态转化.是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便, 所以正得到越来越多网 ...

  9. php 请求方式,PHP发起HTTP请求有哪几种方式?

    PHP发起HTTP请求方式有:1.通过[file_get_contents]发送get请求:2.通过[CURL]发送get请求:3.通过[fsocket]发送get请求. PHP发起HTTP请求方式有 ...

最新文章

  1. 最大权值闭合子图的证明详解
  2. 今日 Paper | 多人线性模型;身体捕捉;会话问答;自然语言解析;神经语义
  3. numpy.transpose()转置失败的问题
  4. encryptjs 加密 前端数据(vue 使用 RSA加密、java 后端 RSA解密)
  5. json数据映射到html,在GoLang中将Json数据映射到Html模板
  6. VTK:网格之SplitPolyData
  7. 使用matplotlib做动态排名图
  8. 如何降低Windows Server 2008的IE安全级别?
  9. 如何查看Win11系统的版本号
  10. uniapp 移动端上传文件_基于 uniapp 实现动态路由和动态 Tabbar
  11. leetcode刷题:零钱兑换
  12. mysql如何大矩阵_如何打印矩阵
  13. 数组中相同元素 java_如何在一维数组中查找某重复元素,并输出其位置?用java实现...
  14. python integer函数_python - Floor函数消除了Integer科学符号,Python - 堆栈内存溢出
  15. oracle normsinv函数,统计函数NormSDist和NormSInv函数实现
  16. 读《大秦帝国》第二部
  17. labview与单片机正弦信号_基于LabVIEW的正弦信号频率与相位测量.doc
  18. java web服务_如何用Java实现Web服务器
  19. 名帖119 文徵明 小楷《摩诃般若波罗蜜多心经》
  20. 噪声特性及matlab函数

热门文章

  1. FusionCharts 中文乱码
  2. VisualStudio异常处理 —— LNK1112 模块计算机类型“x64”与目标计算机类型“X86”冲突
  3. windows API 菜鸟学习之路(四)
  4. web前端工作笔记008---jQuery table jstable的使用方法,字符串太长显示...初始化显示数据
  5. 人工智能TensorFlow工作笔记006---计算图的基本应用_认识计算图_02_以及使用GPU运算
  6. Linux学习笔记002---Windows下安装CentOS7_带有UI桌面_图解
  7. JAVA常用API或编程工具001---ITEXT把html转换成pdf的jar包,使用Java将HTML转换为PDF
  8. princomp 与pca的区别与联系
  9. 杭电2159FATE
  10. cocos2d之z轴位置示例