0

I'm trying to get an option quote from Etrade using their Java SDK. I'm currently setup for using the sandbox.

here's the code:

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);

When I call m.getQuote I get an error. The error is

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

I've tried using html (org.apache.commons.lang.StringEscapeUtils.escapeHtml) escaping with no luck.

Any ideas what is wrong?

tatmanblue
  • 1,176
  • 2
  • 14
  • 30

1 Answers1

1

It is because you have special characters(spaces and what not ) in your url.

You can use the URL Encoder library for this one.

You'll have to pass in a string of the entire url, which will give you an encoded url.

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

For further information, here is the documentation https://docs.oracle.com/javase/7/docs/api/java/net/URLEncoder.html