http请求方法

1 restTemplate

public static final String BASIC_DATA_URL = "https://ft.10jqka.com.cn/api/v1/basic_data_service";
public static String ACCESS_TOKEN;

    private static final RestTemplate restTemplate = new RestTemplate();

    // 类初始化ACCESS_TOKEN
    static {
        ACCESS_TOKEN = getAccessToken();
    }

    public static String getAccessToken() {
        // 创建请求头
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        headers.set("refresh_token", REFRESH_TOKEN);

        // 构造请求体
        HttpEntity request = new HttpEntity<>(headers);

        // 执行POST请求并获取结果
        JSONObject responseResult = restTemplate.postForObject(ACCESS_TOKEN_URL, request, JSONObject.class);
        String accessToken = responseResult.getJSONObject("data").getString("access_token");
        String expiredTime = responseResult.getJSONObject("data").getString("expired_time");

        return accessToken;
    }

//调用接口
public static String getHistoryQuotation(String code,String startDate, String endDate) {
        // 创建请求头
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        headers.set("access_token", ACCESS_TOKEN);

        HashMap<String, String> params = new HashMap<>();
        //params.put("codes", "688562.SH");
        params.put("codes", code);
        params.put("indicators", "open,close,low,high,preClose,avgPrice");
        params.put("startdate", startDate);
        params.put("enddate", endDate);
        // 构造请求体
        HttpEntity request = new HttpEntity<>(params, headers);
        // 执行POST请求并获取结果
        String responseResult = restTemplate.postForObject(HISTORY_QUOTES_URL, request, String.class);

        return responseResult;
    }

2 okhttp3方式

引入依赖

 <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>4.9.0</version>
        </dependency>

方法访问

public static void main(String[] args) throws IOException {
        OkHttpClient client = new OkHttpClient();

        MediaType mediaType = MediaType.parse("application/json");
        RequestBody body = RequestBody.create(mediaType, "{\"source\":\"Ths_iwencai_Xuangu\",\"version\":\"2.0\",\"query_area\":\"\",\"block_list\":\"\",\"add_info\":\"{\\\"urp\\\":{\\\"scene\\\":1,\\\"company\\\":1,\\\"business\\\":1},\\\"contentType\\\":\\\"json\\\",\\\"searchInfo\\\":true}\",\"question\":\"今日涨幅\",\"perpage\":50,\"page\":1,\"secondary_intent\":\"\",\"log_info\":\"{\\\"input_type\\\":\\\"click\\\"}\",\"rsh\":\"Ths_iwencai_Xuangu_9afeli08e1ldvu09ocpyehb61efsadhq\"}");
        Request request = new Request.Builder()
                .url("https://www.iwencai.com/customized/chart/get-robot-data")
                .post(body)
                .addHeader("Accept", "application/json, text/plain, */*")
                .addHeader("Accept-Language", "zh-CN,zh;q=0.9,en;q=0.8,en-US;q=0.7")
                .addHeader("Cache-Control", "no-cache")
                .addHeader("Connection", "keep-alive")
                .addHeader("Content-Type", "application/json")
                .addHeader("Origin", "https://www.iwencai.com")
                .addHeader("Pragma", "no-cache")
                .addHeader("Referer", "https://www.iwencai.com")
                .addHeader("Sec-Fetch-Dest", "empty")
                .addHeader("Sec-Fetch-Mode", "cors")
                .addHeader("Sec-Fetch-Site", "same-origin")
                .addHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0")
                .addHeader("hexin-v", "A0yBx3smR4_40lNzP92pUiMFHaF7hfAv8ikE86YNWPeaMeKfzpXAv0I51IT1")
                .addHeader("sec-ch-ua-mobile", "?0")
                //.addHeader("Cookie", "other_uid=Ths_iwencai_Xuangu_9afeli08e1ldvu09ocpyehb61efsadhq; ta_random_userid=j45nhnswj7; cid=eb239ea23a77a1b75b48de2f0d4955bd1729128712; v=A6lkWCZ16sgt0dZ80m40dVbmuF4Gdp2oB2rBPEueJRDPEseAk8ateJe60QbY")
                .addHeader("content-type", "application/json")
                .build();

        Response response = client.newCall(request).execute();
        //System.out.println(response.body().string());
        String aaa = response.body().string();
        System.out.println(aaa);
        JSONObject aa = JSONObject.parseObject(aaa);
        System.out.println(aa);
        System.out.println(aa.get("data"));
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值