zoukankan      html  css  js  c++  java
  • ajax发送请求跨域

    问题:ajax发送请求出现cors跨域

    解决办法:可以通过java代理的方式,后台发送请求

    1.get请求

    public void proxyGet(String url) {
    try {
    URL realUrl = new URL(url);
    URLConnection connection = realUrl.openConnection();
    // 设置通用的请求属性
    connection.setRequestProperty("accept", "*/*");
    connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
    connection.setRequestProperty("Connection", "Keep-Alive");

    // 建立实际的连接
    connection.connect();
    InputStream inStream = connection.getInputStream();
    OutputStream stream = response.getOutputStream();
    stream.write(GetInputStream(inStream)); //上传参数
    stream.flush();
    stream.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    2.post请求

    public String proxyPost(String url, String params) {
    String result = null;
    CloseableHttpClient httpclient = HttpClientBuilder.create().build();
    HttpPost httpPost = null;
    CloseableHttpResponse response = null;
    try {
    httpPost = new HttpPost(url);
    // 设置通用的请求属性
    httpPost.setHeader("Accept", "application/json");
    httpPost.setHeader("Content-Type", "application/json;charset=UTF-8");
    // 往服务器里面发送数据
    StringEntity entity = new StringEntity(params, StandardCharsets.UTF_8);
    httpPost.setEntity(entity);
    // 建立实际的连接
    response = httpclient.execute(httpPost);
    StatusLine status = response.getStatusLine();
    System.out.println("请求返回状态:"+status.getStatusCode());
    // 获取返回数据
    if (status.getStatusCode() == 200) {
    HttpEntity responseEntity = response.getEntity();
    result= EntityUtils.toString(responseEntity);
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    if (response != null) {
    try {
    response.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    try {
    httpclient.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    return result;
    }
  • 相关阅读:
    michael的沟通秘籍
    panels能否包含views_block ////// panels -- content pane 参数传递
    Unity动画
    DoTween动画插件学习
    C#委托的进一步学习
    阶段学习总结-坦克大战(2D)案例
    学习总结
    阶段学习总结-见缝插针案例
    阶段学习总结-坦克大战案例
    碰撞检测和触发检测
  • 原文地址:https://www.cnblogs.com/jiktiv123/p/10374902.html
Copyright © 2011-2022 走看看