java 后端请求第三方接口 包含post请求和get请求
public class HttpRequest { private static boolean debug = true;
//get请求 public static String sendGet(String url, String param) { if (!debug) { return ""; } String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; URL realUrl = new URL(urlNameString); URLConnection connection = realUrl.openConnection(); connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); connection.connect(); Map<String, List<String>> map = connection.getHeaderFields(); for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } in = new BufferedReader(new InputStreamReader( connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("异常" + e); e.printStackTrace(); } finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } // [post请求] public static String sendPost(String url, String param) { if (!debug) { return ""; } PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); URLConnection conn = realUrl.openConnection(); conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestProperty("charset", "utf-8"); conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); conn.setDoOutput(true); conn.setDoInput(true); out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), "utf-8")); out.print(param); out.flush(); in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8")); String line; while ((line = in.readLine()) != null) { result += line; } System.out.println("sendPost"+result); } catch (Exception e) { System.out.println("异常" + e); e.printStackTrace(); } finally { try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; }
/** * POST请求HIS接口 * @param url 请求URL * @param param 请求param * @return 返回为空字符表示程序出现错误 */ public static String doPost(String url, String param) { HttpPost httpPost = new HttpPost(url); try { m_httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 60000); m_httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 60000); m_httpclient.getParams().setParameter(CoreConnectionPNames.MAX_LINE_LENGTH, 999999999); httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded"); httpPost.setEntity(new StringEntity(param, "utf-8")); HttpResponse response = m_httpclient.execute(httpPost); if(response.getStatusLine().getStatusCode()!=200){ httpPost.abort(); return ""; }else{ String result = EntityUtils.toString(response.getEntity(),"utf-8"); httpPost.abort(); return result; } } catch (Exception e) { System.out.println("http请求工具异常>>>>"+e.getMessage()); e.printStackTrace(); return ""; } }
}
//post请求参数为json格式字符串 如:
String Wxresult = HttpRequest.sendPost("http://127.0.0.1:8080/services/tradInfo/getTradeAll", "requestJson="+jsonObject.toString());
//后端接口
@Component
@Scope("prototype")
@Path("/tradInfo")
public class HisInterfaceRestfull {
@POST
@Path("/getTradeAll")
@Produces(MediaType.TEXT_PLAIN)
public String getHisTradeAll(@FormParam(value = "requestJson") String requestJson){
return tradeBillService.getHisTradeAll(requestJson);
}
}
http请求测试工具类,请将请求地址,参数填写在main函数内
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】