gpt4 book ai didi

jgnash.net.YahooCrumbManager类的使用及代码示例

转载 作者:知者 更新时间:2024-03-20 17:22:31 27 4
gpt4 key购买 nike

本文整理了Java中jgnash.net.YahooCrumbManager类的一些代码示例,展示了YahooCrumbManager类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。YahooCrumbManager类的具体详情如下:
包路径:jgnash.net.YahooCrumbManager
类名称:YahooCrumbManager

YahooCrumbManager介绍

[英]Manages the Cookie and Crumb required to connect to the yahoo finance APIs.

The cookie and crumb is cached and reused
[中]管理连接雅虎财务API所需的Cookie和crump。
饼干和面包屑被缓存并重复使用

代码示例

代码示例来源:origin: ccavanaugh/jgnash

if (!YahooCrumbManager.authorize(securityNode.getSymbol())) {
  return events;
    connection.setRequestProperty("Cookie", YahooCrumbManager.getCookie());
      YahooCrumbManager.clearAuthorization();
    } else {
      try (final BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream(),
  YahooCrumbManager.clearAuthorization();
} finally {
  if (connection instanceof HttpURLConnection) {

代码示例来源:origin: ccavanaugh/jgnash

private static String buildYahooQuery(final SecurityNode securityNode, final LocalDate startDate,
                   final LocalDate endDate, final SecurityHistoryEventType event) {
  // dividend 1/1/1962 to 8/22/2015
  // https://query1.finance.yahoo.com/v7/finance/download/IBM?period1=-252442800&period2=1440216000&interval=1d&events=div&crumb=oTulTvLJSBg
  // splits
  // https://query1.finance.yahoo.com/v7/finance/download/IBM?period1=-252442800&period2=1440216000&interval=1d&events=split&crumb=oTulTvLJSBg
  // History
  // https://query1.finance.yahoo.com/v7/finance/download/IBM?period1=-252442800&period2=1440216000&interval=1d&events=history&crumb=oTulTvLJSBg
  final LocalDateTime epoch = LocalDateTime.of(1970, Month.JANUARY, 1, 0, 0);
  long period1 = ChronoUnit.SECONDS.between(epoch, LocalDateTime.of(startDate, LocalTime.MIN));
  long period2 = ChronoUnit.SECONDS.between(epoch, LocalDateTime.of(endDate, LocalTime.MAX));
  final StringBuilder builder = new StringBuilder("https://query1.finance.yahoo.com/v7/finance/download/");
  builder.append(securityNode.getSymbol())
      .append("?period1=").append(period1)
      .append("&period2=").append(period2)
      .append("&interval=1d&events=");
  switch (event) {
    case DIVIDEND:
      builder.append("div");
      break;
    case PRICE:
      builder.append("history");
      break;
    case SPLIT:
      builder.append("split");
      break;
  }
  builder.append("&crumb=").append(YahooCrumbManager.getCrumb());
  return builder.toString();
}

代码示例来源:origin: ccavanaugh/jgnash

clearAuthorization();

代码示例来源:origin: ccavanaugh/jgnash

public static Set<SecurityHistoryEvent> retrieveNew(@NotNull final SecurityNode securityNode,
                          final LocalDate endDate) {
  final Set<SecurityHistoryEvent> events = new HashSet<>();
  // Ensure we have a valid cookie and crumb
  if (!YahooCrumbManager.authorize(securityNode.getSymbol())) {
    return events;
  }
  LocalDate startDate = LocalDate.now().minusDays(1);
  final List<SecurityHistoryNode> historyNodeList = securityNode.getHistoryNodes();
  if (!historyNodeList.isEmpty()) {
    startDate = historyNodeList.get(0).getLocalDate();
  }
  events.addAll(retrieveNewDividends(securityNode, startDate, endDate));
  events.addAll(retrieveNewSplits(securityNode, startDate, endDate));
  return events;
}

代码示例来源:origin: ccavanaugh/jgnash

@Test
  void testHistoricalDownload() {

    // try 3 times to pass
    for (int i = 0; i < 3; i++) {

      final SecurityNode ibm = new SecurityNode(e.getDefaultCurrency());
      ibm.setSymbol("IBM");
      ibm.setScale((byte) 2);

      e.addSecurity(ibm);

      YahooCrumbManager.clearAuthorization();     // force re-authorization to prevent failed unit test

      final List<SecurityHistoryNode> events = YahooEventParser.retrieveHistoricalPrice(ibm, LocalDate.of(2016,
          Month.JANUARY, 1), LocalDate.of(2016, Month.DECEMBER, 30));

      if (events.size() == 252) {
        assertEquals(252, events.size());
        return;
      }
    }

    fail("Failed to pass test");
  }
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com