java 请求api_HTTP请求 Java API

本文展示了如何使用Apache HttpClient库进行HTTP POST请求,发送报警通知,并通过GET请求获取IP地址及其所在省份和城市。实例包括创建HttpClient实例,构造POST请求,以及解析JSON数据获取地理信息。
摘要由CSDN通过智能技术生成

1.导入依赖

commons-httpclient

commons-httpclient

3.0.1

2.Post请求

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.methods.PostMethod;

import org.apache.commons.httpclient.methods.StringRequestEntity;

import java.io.IOException;

/**

* @description: TODO

* @author: HaoWu

* @create: 2020/7/18 16:46

*/

public class AlarmNotifyTest {

public static void main(String[] args) throws IOException {

//1.创建客户端

HttpClient client = new HttpClient();

String alarmName = "azkaban的的任务运行情况";

String alarmContent = "azkaban的任务执行完毕";

String url = String.format("http://api.aiops.com/alert/api/event?app=19663a74-69f9-462f-aac7-6e46c7c0bf1d&eventId=yyy&eventType=trigger&alarmContent=%s&alarmName=%s&priority=2", alarmContent, alarmName);

//2.创建post方法,封装参数

PostMethod method = new PostMethod(url);

String content = "";

StringRequestEntity stringRequestEntity = new StringRequestEntity(content, "application/json", "UTF-8");

method.setRequestEntity(stringRequestEntity);

//3.执行http请求

int code = client.executeMethod(method);

if (code == 200) {

method.getResponseBodyAsString();

}

}

}

3.Get请求

import java.io.*;

/**

* @description: TODO

* @author: HaoWu

* @create: 2020/7/12 16:13

*/

public class PrintIpProvinceCity {

public static void main(String[] args) throws IOException {

FileReader fr = new FileReader("F:\\pmt.json");

BufferedReader br = new BufferedReader(fr);

String jsonStr = "";

String[] arrs = null;

while ((jsonStr = br.readLine()) != null) {

if (JsonUtils.IsJson(jsonStr)) {

if (!JsonUtils.IPIsNull(jsonStr)) {

String ip = JsonUtils.getIP(jsonStr);

String url = "https://restapi.amap.com/v3/ip?ip=" + ip + "&key=f75418e64363b8a96d3565108638c5f1";

String province = HttpUtils.getProvinceAndCity(url).getString("province");

String city = HttpUtils.getProvinceAndCity(url).getString("city");

System.out.println("ip:" + ip + ",province:" + province + ",city:" + city);

}

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值