代码描述:基于JAVA的全国加油站[实时油价]接口调用代码实例

接口地址:https://www.juhe.cn/docs/api/id/7

1.[代码][Java]代码

import java.io.BufferedReader;

import java.io.DataOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.UnsupportedEncodingException;

import java.net.HttpURLConnection;

import java.net.URL;

import java.net.URLEncoder;

import java.util.HashMap;

import java.util.Map;

import net.sf.json.JSONObject;

/**

*全国加油站[实时油价]调用示例代码 - 聚合数据

*在线接口文档:https://www.juhe.cn/docs/api/id/7

**/

public class JuheDemo {

public static final String DEF_CHATSET = "UTF-8";

public static final int DEF_CONN_TIMEOUT = 30000;

public static final int DEF_READ_TIMEOUT = 30000;

public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";

//配置您申请的KEY

public static final String APPKEY ="*************************";

//1.按城市检索加油站

public static void getRequest1(){

String result =null;

String url ="http://apis.juhe.cn/oil/region";//请求接口地址

Map params = new HashMap();//请求参数

params.put("city","");//城市名urlencode utf8;

params.put("keywords","");//关键字urlencode utf8;

params.put("page","");//页数,默认1

params.put("format","");//格式选择1或2,默认1

params.put("key",APPKEY);//应用APPKEY(应用详细页查询)

try {

result =net(url, params, "GET");

JSONObject object = JSONObject.fromObject(result);

if(object.getInt("error_code")==0){

System.out.println(object.get("result"));

}else{

System.out.println(object.get("error_code")+":"+object.get("reason"));

}

} catch (Exception e) {

e.printStackTrace();

}

}

//2.检索周边加油站

public static void getRequest2(){

String result =null;

String url ="http://apis.juhe.cn/oil/local";//请求接口地址

Map params = new HashMap();//请求参数

params.put("lon","");//经纬(如:121.538123)

params.put("lat","");//纬度(如:31.677132)

params.put("r","");//搜索范围,单位M,默认3000,最大10000

params.put("page","");//页数,默认1

params.put("format","");//格式选择1或2,默认1

params.put("key",APPKEY);//应用APPKEY(应用详细页查询)

try {

result =net(url, params, "GET");

JSONObject object = JSONObject.fromObject(result);

if(object.getInt("error_code")==0){

System.out.println(object.get("result"));

}else{

System.out.println(object.get("error_code")+":"+object.get("reason"));

}

} catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

}

/**

*

* @param strUrl 请求地址

* @param params 请求参数

* @param method 请求方法

* @return 网络请求字符串

* @throws Exception

*/

public static String net(String strUrl, Map params,String method) throws Exception {

HttpURLConnection conn = null;

BufferedReader reader = null;

String rs = null;

try {

StringBuffer sb = new StringBuffer();

if(method==null || method.equals("GET")){

strUrl = strUrl+"?"+urlencode(params);

}

URL url = new URL(strUrl);

conn = (HttpURLConnection) url.openConnection();

if(method==null || method.equals("GET")){

conn.setRequestMethod("GET");

}else{

conn.setRequestMethod("POST");

conn.setDoOutput(true);

}

conn.setRequestProperty("User-agent", userAgent);

conn.setUseCaches(false);

conn.setConnectTimeout(DEF_CONN_TIMEOUT);

conn.setReadTimeout(DEF_READ_TIMEOUT);

conn.setInstanceFollowRedirects(false);

conn.connect();

if (params!= null && method.equals("POST")) {

try (DataOutputStream out = new DataOutputStream(conn.getOutputStream())) {

out.writeBytes(urlencode(params));

}

}

InputStream is = conn.getInputStream();

reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));

String strRead = null;

while ((strRead = reader.readLine()) != null) {

sb.append(strRead);

}

rs = sb.toString();

} catch (IOException e) {

e.printStackTrace();

} finally {

if (reader != null) {

reader.close();

}

if (conn != null) {

conn.disconnect();

}

}

return rs;

}

//将map型转为请求参数型

public static String urlencode(Map data) {

StringBuilder sb = new StringBuilder();

for (Map.Entry i : data.entrySet()) {

try {

sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

}

return sb.toString();

}

}

JAVA 油站管理系统_基于JAVA的全国加油站[实时油价]接口调用代码实例相关推荐

  1. php股票网站源代码,基于php的新三板实时股票信息接口调用代码实例

    基于php的新三板实时股票信息接口调用代码实例 聚合数据新三板实时股票信息接口:https://www.juhe.cn/docs/api/id/185,若需要,则需通过此申请APPKEY. 示例:// ...

  2. HTML构建空气质量实时获取代码,基于C#的空气质量实时监测接口调用代码实例

    代码描述:基于C#的空气质量实时监测接口调用代码实例 关联数据:空气质量 接口地址:http://www.juhe.cn/docs/api/id/33 1.[代码][C#]代码 using Syste ...

  3. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  4. 基于java的人力资源管理系统_基于Java Web的企业人力资源管理系统的设计与实现(样例3)...

    <基于Java Web的企业人力资源管理系统的设计与实现.doc>由会员分享,可免费在线阅读全文,更多与<基于Java Web的企业人力资源管理系统的设计与实现>相关文档资源请 ...

  5. java网上书店管理系统_基于JAVA的网上书店管理系统的开发.doc

    基于JAVA的网上书店管理系统的开发 基于 JAVA 的网上书店系统的设计与开发 摘 要 电子商务是一种在互联网上进行商务活动的形式,近年来随着互联网技术的 发展得以迅速普及.如何利用最新互联网编程技 ...

  6. java小区物业管理系统_基于JAVA的小区物业管理系统V0.1(资料4)

    <基于JAVA的小区物业管理系统.doc>由会员分享,可免费在线阅读全文,更多与<基于JAVA的小区物业管理系统(V0.1)>相关文档资源请在帮帮文库(www.woc88.co ...

  7. 基于java的餐饮管理系统_基于java的餐饮管理系统

    在本系统设计中,将使用MyEclipse和MySQL 作为开发工具,以实现java餐饮管理系统的开发. 开发java餐饮管理系统的相关技术,在大学中老师都已经系统的讲解过,经过自己的学习和实践,都已掌 ...

  8. 基于java的作业管理系统_基于java的作业管理系统

    [实例简介] 面向对象程序设计的大作业,用myeclipse建工程,tomcat的服务器,B/S框架,java和jsp编写代码.实现的功能是老师上传作业相关资源,布置作业,查看和下载学生作业并打分,同 ...

  9. java用代码实现星期菜谱_基于JAVA的菜谱大全接口调用代码实例

    基于JAVA的菜谱大全接口调用代码实例 代码描述:基于JA V A的菜谱大全接口调用代码实例 接口平台:聚合数据 import java.io.BufferedReader; import java. ...

最新文章

  1. JAVA中是传值还是传引用?回答KEZHANG问题
  2. 【数字信号处理】相关函数 ( 周期信号 | 周期信号的自相关函数 )
  3. 功能性农业实用技术 谋定·农业大健康-李喜贵:粤黔东西协作
  4. .Net性能调优-垃圾回收!!!最全垃圾回收来了
  5. word List 45
  6. 【渝粤教育】国家开放大学2018年春季 0674-21T财务管理 参考试题
  7. python使用线程池多线程执行,并得到返回的结果
  8. 解决mysql大小写敏感问题
  9. Vue按需加载提升用户体验
  10. Huber损失最小化学习法
  11. 将文件复制到FTP服务器时发生错误的解决办法
  12. 【SSH网上商城项目实战13】Struts2实现文件上传功能
  13. WAP技术入门(下)
  14. 关联规则挖掘与Apriori算法
  15. 嵌入式软件工程师学习规划
  16. Android Room框架使用
  17. 一个资深程序员看12306(四)
  18. 移位运算为什么比乘法除法快
  19. Teardrop原始套接字编程
  20. 蓝桥杯 结果填空 猜生日

热门文章

  1. 辅助驾驶功能开发-功能规范篇(04)- 交通拥堵辅助及集成式巡航辅助TJA/ICA
  2. OpenGL ES EGL eglDestroyContext
  3. C语言字母的组合,C语言求字母的全部组合
  4. 实战:借助ucloud镜像加速功能下载镜像(亲测成功)-2022.1.1
  5. Dear小弟×××,给你们的一封信「社区运营入门系列 序」
  6. 展会中,你做得够好么?
  7. Android端+java后端+servlet+MySQL的型男塑造平台【前后端源代码+论文+答辩ppt】
  8. 推荐一部励志电视剧《山海情》
  9. 计算机在中医学有哪些最新应用,计算机与中医学的现代应用
  10. 利用python对b站某GPT-4解说视频的近万条弹幕进行爬取、数据挖掘、数据分析、弹幕数量预测及情绪分类