Как использовать apikey при разборе сайта с Java? - PullRequest
0 голосов
/ 31 января 2019

Итак, в общем, я пытаюсь создать приложение по расписанию, но сначала пытаюсь научиться анализировать данные из API системы.Мне дали совет от системного администратора моей школы, но API расплывчато, и я этого не понимаю.Я пытаюсь использовать HttpURLConnection.

Вот руководство по API, касающееся apikey и некоторой переменной для использования команд, которые я не получаю

apikey Это своего рода парольдля доступа к Edupage API для школьной страницы Edupage.Одна школа (и одна веб-страница 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 голосов
/ 31 января 2019

Существует множество способов отправки данных в httpurlconnection. Это зависит от того, как вы хотите отправлять данные.

вы используете метод get, чтобы передавать apikey в заголовок.

Например,

connection.setRequestProperty("apikey", apikey)

Если вы делаете пост-запрос, вы можете открыть поток вывода при подключении, а затем записать туда свой apikey.

var outputStream = conn.outputStream
        outputStream.write(apikey.toByteArray())
        outputStream.flush()
        outputStream.close()
0 голосов
/ 31 января 2019

Страница документации , которую я нашел через google , дает ссылку с доступными дополнительными техническими характеристиками здесь

В этой документации вы можете передавать переменные cmd или apiKey либочерез параметр POST или параметр GET (в строке запроса)

Обзор связи
Связь осуществляется с помощью простых HTTP-запросов.Эти запросы могут быть запросами GET или POST, и все параметры могут быть переданы обоими способами (в строке запроса URL или в содержимом POST или в любой комбинации обоих).Примечание. Существует ограничение на размер URL-адреса на веб-сервере, поэтому для параметров, которые могут быть очень длинными, рекомендуется отправлять их как POST.

.использование будет зависеть от того, какой API-интерфейс вы используете, и от личных предпочтений, но в Интернете есть множество учебных пособий для отправки запросов POST через java HTTPUrlConnection или других вещей, таких как обыкновенные HttpClient

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...