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;
    }
  • 相关阅读:
    对Android开发者有益的40条优化建议
    git推送tag到远端服务器
    详细注释!二维码条码扫描源码,使用Zxing core2.3
    探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法
    android的logcat详细用法!
    【Android】开源项目汇总-备用
    android 中theme.xml与style.xml的区别
    Android实现对HOME键的捕获和屏蔽
    java中newInstance()和new()
    java Stack
  • 原文地址:https://www.cnblogs.com/jiktiv123/p/10374902.html
Copyright © 2011-2022 走看看