Java 通过 HttpConnection 解决 Ajax 请求跨域问题
Java 通过 HttpConnection 解决 Ajax 请求跨域问题
$.ajax
在访问外部服务器时会出现跨域问题,尝试过很多前端的方式解决都没有效果,最终是使用 Java 发送请求得以解决
更多精彩
- 更多技术博客,请移步 asing1elife’s blog
包装 Java 发送 Http 请求的工具类
- 该工具类中包括发送 GET/POST 请求的方法
- 方法只需要传入请求的地址和参数列表即可
- 参数列表的格式为
name1=value1&name2=value2
public class HttpUtils { public static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 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(); // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } 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 { try{ if(out!=null){ out.close(); } if(in!=null){ in.close(); } } catch(IOException ex){ ex.printStackTrace(); } } return result; } }
调用工具类
- 如果调用的是 GET 请求请求参数会被拼接到链接之后,这是参数列表则需要对各种符号进行转码
-
URLEncoder.encode(input, "UTF-8")
是 java.net.URLEncoder 包中的方法
String result = sendGet("http://120.27.199.194:7001/run", "code=" + URLEncoder.encode(input, "UTF-8"));
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java 实现阿里云直播推流在线列表查询
版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82788014 Java 实现阿里云直播推流在线列表查询 阿里云直播推流在线列表可以通过 API 的方式进行查询获取 更多精彩 更多技术博客,请移步 asing1elife’s blog 官网 查询推流在线列表 初始化配置 Constants.ALI_ACCESS_KEY_ID 是阿里云服务密钥 id ,所有服务共用 Constants.ALI_ACCESS_SECRET 是阿里云服务密钥,所有服务共用 将客户端的初始化放置在静态块中可以保证配置只初始化一次 private static IAcsClient iAcsClient; static { // 初始化配置 String regionId = "cn-shanghai"; DefaultProfile profile = DefaultProfile.getProfile(regionId, Constants.ALI_ACCESS_KEY...
- 下一篇
Java 实现阿里云直播
版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82788122 Java 实现阿里云直播 阿里云播放器直接在线点播视频以及直播技术,此处记录直播实现过程 更多精彩 更多技术博客,请移步 asing1elife’s blog 官网 阿里云直播-快速入门 准备步骤 创建 阿里云账号 根据 流程 完成实名认证,以确保可以使用阿里云相应服务 在密钥管理页面获取阿里云访问密钥,AccessKeyId 和 AccessKeySecret 开通阿里云直播服务 关键点 阿里云直播服务端提供了 一系列 API ,但如果只是单纯的直播[推流和拉流] ,实际不需要使用这些 API 推流准备 推流即直播人员进行视频播放的操作,这需要使用推流客户端 第三方推流工具 OBS 在推流工具中需要指定推流地址、流名称、鉴权密钥 如果上述信息阿里云验证合法,既可以开始直播,在阿里云后端可以看到正在直播的流信息 拉流准备 拉流即直播观众通过视频播放器在线获取直播信息,播放器使用 阿里云...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8编译安装MySQL8.0.19
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)