Хотите использовать DOI для доступа к конкретной статье

В настоящее время я работаю с программой, которая используется для очистки веб-сайтов с информацией и их локального хранения в БД. Эта программа предназначена для получения статей из области ИТ, и у меня есть специальный список журналов, которые я должен найти. Он работает, как я DOI из базы данных, мы получили это с сайта под названием DBLP, и с этим DOI я установлю соединение и перенаправлю меня на сайт, где я могу найти статью. Проблема сейчас для меня в том, что я получил этот DOI:

CrossRef

И, как вы можете видеть, если вы нажмете на ссылку, я попаду на перекрестный сайт, который говорит мне, что я могу выбрать из 2 разных мест, чтобы найти эту статью. И поскольку у меня есть только переводчик, который может перебирать один из этих сайтов, я хочу перейти на сайт IEEE Xplore. Проблема сейчас в том, что я не знаю, как заставить мою программу перейти на сайт IEEE Xplore. Если вы посмотрите на мой код, который у меня сейчас есть, он выглядит примерно так:

    public static void Scan(Article article) throws Exception
{
    //When running program, creates a error text-file inside java Project folder
    File file = new File("errorlogg.txt");
    FileWriter fileWriter = new FileWriter(file, true);

    // if file doesn't exists, then create it
    if (!file.exists()) 
    {
        file.createNewFile();
    }

    //Setting up an URL HttpURLConnection given DOI
    URL urlDoi = new URL (article.GetElectronicEdition());

    //Transform from URL to String
    String doiCheck = urlDoi.toString();

    //Check what Journals
    String JournalsWanted = article.GetJournal();

    //Used to see if DOI changed 
    System.out.println("New DOI: " + urlDoi);

    HttpURLConnection connDoi = (HttpURLConnection) urlDoi.openConnection();

    // Make the logic below easier to detect redirections
    connDoi.setInstanceFollowRedirects(false);  

    String doi = "{\"url\":\"" + connDoi.getHeaderField("Location") + "\",\"sessionid\":\"abc123\"}";

    //Setting up an URL to translation-server
    URL url = new URL("http://127.0.0.1:1969/web");
    URLConnection conn = url.openConnection();

И я думал о том, чтобы просто сделать что-то простое, например, если бы шанс на URL-адрес, если я вижу, что это не приведет меня правильно. Я думал о чем-то вроде этого:

if(doiCheck.startsWith("http://dx."));

Проблема в том, что я не понимаю, как сайт перекрестной ссылки знает, за какой статьей я следую. Потому что, если я нажму на ссылку там на IEEE Xplore, это будет выглядеть так:

IEEE Xplore

И кажется, что он не использует DOI, чтобы найти статью, или я что-то упускаю? Как я могу указать своей программе случайный URL, чтобы найти статью о IEEE Xplore?

Извините, если вопрос не так ясен и прост для понимания, но постарался объяснить мою проблему.

0 ответов

Другие вопросы по тегам