2017-02-09 11 views
0

나는 그들의 Java SDK를 사용하여 Etrade에서 옵션 견적을 얻으려고합니다. 현재 샌드 박스를 사용하기위한 설정입니다.ETrade API를 사용하여 OptionQuote를받는 방법

여기에 코드입니다 : 내가 m.getQuote를 호출 할 때

ProductId prod = callOption.getProduct(); 

ArrayList<String> symbols = new ArrayList<String>(); 
// getSymbol returns GOOG Jan 22 '11 $150 Call 
symbols.add(prod.getSymbol()); 

// m is a MarketClient instance 
QuoteResponse quotes = m.getQuote(symbols, true, DetailFlag.OPTIONS); 

나는 오류가 발생합니다. 이 오류는 내가 HTML (org.apache.commons.lang.StringEscapeUtils.escapeHtml) 행운과 함께 탈출을 사용하려고했습니다

ERROR ConnectionUtils - Invalid uri 'https://etwssandbox.etrade.com/market/sandbox/rest/quote/GOOG Jan 22 '11 $150 Call': escaped absolute path not valid 

입니다.

어떤 아이디어가 잘못 되었나요?

답변

1

URL에 특수 문자 (공백이 있거나없는 문자)가 있기 때문입니다.

URL 인코더 라이브러리를 사용할 수 있습니다.

전체 URL 문자열을 전달해야 인코딩 된 URL이 제공됩니다. 자세한 내용은

String encodedUrl = URLEncoder.encode(<url>); 

, 여기에 문서 https://docs.oracle.com/javase/7/docs/api/java/net/URLEncoder.html

입니다