2017-05-02 4 views
1
//URL url = new URL("http://quote.yahoo.com/d/quotes.csv?s=AAPL&f=sl1d1t1c1ohgv&e=.csv"); 
URL url = new URL("http://chart.finance.yahoo.com/table.csv?s=AAPL&a=&b=3&c=2017&d=4&e=1&f=2017&g=d&ignore=.csv"); 
URLConnection urlConn = url.openConnection(); 
System.out.println(urlConn.getInputStream().available()); 

Java에서 작업.Yahoo finance historical API CSV가 오픈 스트림으로 보일 수 없습니까? JAVA

오늘의 데이터를 csv 형식으로 반환하는 첫 번째 URL은 잘 작동하며 70 바이트를 반환합니다.

그러나 csv의 기록 데이터 목록을 반환하는 두 번째 url은 0 바이트를 반환합니다. 이 URL은 브라우저를 통해 열면 잘 작동합니다.

차이점은 무엇이며 어떻게 작동시키는가요?

(나는 또한 urlConn.setRequestProperty을 시도했다 ("사용자 에이전트", "모질라/5.0 (윈도우 NT 4.10, RV : 52.0) 게코/20100101 파이어 폭스/52.0")

+0

두 번째 URL **은 http : **에서 https : **로 리디렉션됩니다 ** (301) 본문 만 아니라 상태 코드와 헤더를보고 브라우저가이 리디렉션을 따르지만 HttpUrlConnection은 그렇지 않습니다. https :로 요청을 보내면 데이터를 가져옵니다. 첫 번째 URL은이 작업을 수행하지 않습니다. 하루나 이틀 전과 매우 비슷한 Q이지만, 지금 속국은 찾을 수 없습니다. –

+0

팁을 주셔서 감사합니다. 이미 https를 시도했습니다. 일하지 않았어. – user1869558

답변

0

야후가 비활성화 자동화 사용 Java 데스크톱 라이브러리에서 대안을 찾았습니다.