使用Java解析网站时如何使用apikey?

时间:2019-01-31 17:26:52

标签: java api httpurlconnection api-key

因此,总的来说,我想制作一个时间表应用程序,但首先尝试学习从系统的api解析数据。我的学校系统管理员给了我一个apikey,但是API含糊不清,我听不懂。我正在尝试使用HttpURLConnection。

这是关于apikey和一些变量的API教程,这些变量使用我也没有得到的命令

  

apikey这是一种用于访问Edupage API的密码,   学校的Edupage页面。一所学校(和一个教育页网页)可以拥有   多个API密钥。可以为每个配置访问权限   API密钥是单独的,因此学校可以向公司提供一个API密钥   提供考勤系统(带哔哔声)和其他   提供数字标牌的公司(具有getdailyplan权利)。   cmd这   参数指定API命令。命令在后面的   单独的章节。

我在cmd上看到了它所指的命令,但同样,不知道如何使用正确的语法。

到目前为止,我已经有了代码

import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class test2 {
    public static void main(String[] args) {
        String apikey = myapikey;
        String apiurl = url;
        try {
            URL url = new URL(apiurl);
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            con.setRequestMethod("GET");


        } catch (MalformedURLException ex){
            return;
        } catch (java.io.IOException ex) {
            return;
        }
    }
}

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

documentation page I found via google提供了一个链接,其中包含可用的其他技术规范here

根据本文档,您可以通过POST参数或GET参数(在查询字符串中)传递cmd或apiKey变量

  

通信概述
  通过简单的HTTP进行通信   要求。这些请求可以是GET或POST请求,并且所有   参数可以通过两种方式传递(在URL查询字符串或POST中)   内容或两者的任意组合)。注意:大小限制   Web服务器中的URL,因此对于可能很长的参数,它是   建议将其作为POST发送。

您使用的方法将取决于您使用的api和个人偏好,但是在线上有很多教程可以通过java HTTPUrlConnection或其他常见的HttpClient提交POST请求

答案 1 :(得分:0)

httpurlconnection中有很多发送数据的方法,这取决于您要如何发送数据。

您正在使用get方法,因此可以在标头中传递apikey。

connection.setRequestProperty("apikey", apikey)

如果您要发出发布请求,则可以在连接时打开输出流,然后在其中写入apikey。

var outputStream = conn.outputStream
        outputStream.write(apikey.toByteArray())
        outputStream.flush()
        outputStream.close()