<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def request_historical(ticker, start_date, end_date):
 """Get stock's daily historical information. Returns a dictionary with Adj Close, Close, High, Low, Open and Volume, between the start_date and the end_date. Is start_date and end_date were not provided all the available information will be retrieved. Information provided by YQL platform. Check `here <http://goo.gl/8AROUD>`_ for more information on YQL. .. warning:: Request limited to a period not greater than 366 days. Use download_historical() to download the full historical data. [ { 'Close': '100.75', 'Low': '99.639999', 'High': '100.889999', 'Adj_Close': '100.140301', 'Date': '2016-03-02', 'Open': '100.510002', 'Volume': '33169600' }, { 'Close': '100.529999', 'Low': '97.419998', 'High': '100.769997', 'Adj_Close': '99.921631', 'Date': '2016-03-01', 'Open': '97.650002', 'Volume': '50407100' } ] :param start_date: Start date :type start_date: string on the format of "yyyy-mm-dd" :param end_date: End date :type end_date: string on the format of "yyyy-mm-dd" :returns: Daily historical information. :rtype: list of dictionaries """

    __validate_dates(start_date, end_date)

    cols = ['Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj_Close']
    query = 'select {cols} from yahoo.finance.historicaldata ' + \
        'where symbol in ("{ticker}") and startDate = "{start_date}" ' + \
        'and endDate = "{end_date}"'
    query = query.format(
        cols=', '.join(cols),
        ticker=ticker,
        start_date=start_date,
        end_date=end_date
    )

    response = __yahoo_request(query)
    if not response:
        raise RequestError('Unable to process the request. Check if the ' +
                           'stock ticker used is a valid one.')

    if not type(response['quote']) is list:
        return [response['quote']]
    return response['quote']