JAVA访问url工具类

JAVA访问url工具类(包含post和get方式请求)

package org.hyena.hr.analysisReport.util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;

public class HttpConnectionUtil {


	/**
     * 向指定 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();
            // 设置通用的请求属性
            c
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于开源项目bistoury的java应用故障诊断工具预研demo源码.zip 故障诊断介绍 java应用故障诊断工具预研 demo ,基于开源项目bistoury修改,99.999%代码保持一致,原项目明显是为多节点大集群设计,对于小集群来说配置和调试略复杂。 改动的目的是简化少量节点和服务时开发和部署,支持kubernetes集群部署。 故障诊断工具的使用场景是定位解决一些极端情况下的问题,作为传统策略无法分析故障时的诊断工具,我们并不追求日常场景下的高频使用,还是建议大家好好写代码,认真做测试。 通过在线诊断工具发现、定位和解决应用问题。主要手段包括:实例信息的全方位展示、故障点的精确观察、故障代码实时修改和热加载。 这份源码作为 kubernetes 支持预研测试的 demo,基本功能测试可用,如果发现问题我会及时更新。 如果使用中遇到问题,可以联系我,我会提供力所能及的交流和帮助。 由来 bistoury 的功能和架构设计都十分优秀,但也存在源码复杂、组件依赖多、配置多的情况。入门有难度,有一点部署和维护门槛,尤其对于小集群少量服务的小团队。 我做了一些改动,试图保留优秀的功能设计,同时降低入门门槛,(真是想的美啊)。如果你看到这里,也试图简化或者丰富,不要藏着了,一起来吧。 改动的目的是简化开发和部署,bistoury 原项目地址为: qunarcorp/bistoury.git 主要做了以下改动: 修改启动类,改为 springboot 启动,删除 conf 文件,默认写在 map 里或者配置在 yaml 里 整理包目录层次结构 合并 ui 和 proxy 删除 zookeeper 和 gitlab 依赖 增加 kubernetes 支持,点击实例列表时,自动在对应 pod 执行命令启动 agent,等待 1-2 秒即可看到 jvm 信息 修改 ClassPathLookUp 配置 useDefaultClassPath 始终为 true 修改 bistoury-agent-env.sh ,配置 BISTOURY_PROXY_HOST 为 service 地址,增加 -Dbistoury.store.db=sqlite ,避免 alpine 缺包无法使用 rocksdb 修改 LoginController,默认使用 admin/123456 登录,所以即使不配置 mysql 地址也没有关系 启动 启动只需 ServersideApplication ,配置好 masterUrl 和 token ,调整 start_agent.sh 脚本的 proxy 地址为本地端口,且保证pod内能够访问到本地,会自己调 exec 拉起 agent (大概需要1-3秒)。 必要条件 jdk版本是 java 8 目前仅可以拉取到 deployment 类型的应用 目标 pod 镜像内需包含 bash 、wget 、 tar 命令
工具我不再更新,里面大多数方法我迁移到了hutool工具包中,而其中一些不常用的功能被遗弃,项目暂留做为以后参考。 common-tools 一、数据库工具类 1、com.baijob.commonTools.db.ds C3p0Ds 和 DruidDs分别是两种连接池的实现,依赖于数据库配置文件,配置文件的样例参考config/db-example.setting 使用时将db-example.setting复制于${classpath}/config/db.setting,按照配置文件中的说明替换相应值 如果使用Druid,则需参考druid-example.setting创建${classpath}/config/druid.setting文件,详情请参考官方文档 使用C3P0则需要参考c3p0-config-example.xml创建${classpath}/c3p0-config.xml来调节C3P0参数 此时即可调用C3p0Ds.getDataSource()或DruidDs.getDataSource()方法获得默认的数据源 如果要自定义数据库配置文件的参数,请调用相应的init(),传入相关参数 注:Setting对象请参考与之对应的章节 2、com.baijob.commonTools.db.DbUtil 数据库工具类,提供了关闭方法:关闭可以传入多个参数,关闭的顺序是按照参数的顺序来的,用于一次性关闭Connnection、Statement、ResultSet等 newSqlRunner方法用于快速新建一个SqlRunner(此类介绍参考下问) 3、com.baijob.commonTools.db.DsSetting,用于读取db.setting文件辅助类,内部使用 4、com.baijob.commonTools.db.SqlRunner类参考Apache的DbUtils工具包,封装了常用的增删改查方法,与com.baijob.commonTools.db.RsHandler配合使用 com.baijob.commonTools.db.RsHandler接口与Apache的DbUtils的ResultSetHandler等价,抽象结果集处理。 二、邮件工具类 1、com.baijob.commonTools.mail.MailAccount 邮件账户类。 可以调用MailAccount(String accountSettingFileBaseClassLoader)读取相对路径的Setting文件,配置参考mailAccount-example.setting 2、com.baijob.commonTools.mail.MailUtil邮件发送工具类方法请参考注释 此工具类依赖javax.mail,请参考pom.xml添加依赖或手动下载 三、网络相关工具类 1、com.baijob.commonTools.net.AccessControl访问控制,基于配置文件,可以设定IP白名单或黑名单,可以通过配置文件实现简单的账户验证。 配置文件请参考access-example.xml 2、com.baijob.commonTools.net.Connector 连接对象实体类,有host、端口、用户名、密码等属性 3、com.baijob.commonTools.net.HtmlUtil HTML工具类,暂时只提供特殊字符转义 4、com.baijob.commonTools.net.SocketUtil socket工具类。 isUsableLocalPort() 检测本地某个端口是否可用(可用是指没有被其他程序占用) isValidPort()是否是符合规范的端口号 longToIpv4()将long转换为ipv4地址,反方法是ipv4ToLong() netCat()简易的数据发送方法 5、com.baijob.commonTools.net.SSHUtil SSH相关工具类 getSession()获得一个SSH会话 bindPort()将远程主机的端口映射到本地某个端口 6、com.baijob.commonTools.net.URLUtil 将相对、绝对路径转换为URL对象,用于网络或文件流的读写,Setting的配置依赖此工具包 四、线程相关工具类 1、com.baijob.commonTools.thread.BaseRunnable 此类实现了Runnable接口,扩展了功能。 增加名称、ID,调用次数和时间统计、线程停止接口等,并且在线程运行时,不允许此线程第二次启动。 2、com.baijob.commonTools.thread.Executor 线程池工具类 调用静态方法execute()启动线程,此线程在公共的线程池中执行 若想自定义线程池大小或独立控制,可调用newExecutor()实例化一个线程池 excAsync()执行一个异步方法 3、com.baijob.commonTools.thread.SyncQueue 阻塞队列,简化了JDK的BlockingQueue

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值