Эта функция возвращает Dictionary<string, string>
и не использует Microsoft.xxx
для совместимости
Принимает кодировку параметра с обеих сторон
Принимает дубликаты клавиш (последнее значение возврата)
var rawurl = "https://emp.com/some/path?key1.name=a%20line%20with%3D&key2=val2&key2=valdouble&key3=&key%204=44#book1";
var uri = new Uri(rawurl);
Dictionary<string, string> queryString = ParseQueryString(uri.Query);
// queryString return:
// key1.name, a line with=
// key2, valdouble
// key3,
// key 4, 44
public Dictionary<string, string> ParseQueryString(string requestQueryString)
{
Dictionary<string, string> rc = new Dictionary<string, string>();
string[] ar1 = requestQueryString.Split(new char[] { '&', '?' });
foreach (string row in ar1)
{
if (string.IsNullOrEmpty(row)) continue;
int index = row.IndexOf('=');
if (index < 0) continue;
rc[Uri.UnescapeDataString(row.Substring(0, index))] = Uri.UnescapeDataString(row.Substring(index + 1)); // use Unescape only parts
}
return rc;
}
API Yahoo обеспечивает дамп CSV:
Пример: http://finance.yahoo.com/d/quotes.csv?s=msft&f=price
я не уверен, документируется ли это или нет, но этот пример кода должен продемонстрировать все функции (а именно, типы статистики [параметр f в строке запроса]. Я уверен, что можно найти документацию (чиновник или не) при поиске ее.
http://www.goldb.org/ystockquote.html
Редактирование
я нашел некоторую неофициальную документацию:
В последний раз я смотрел - несколько лет назад - не было легкой опции и "решения" (который я не согласовал с), был анализ экранных данных много веб-сайтов. Это может быть легче теперь, но я был бы все еще удивлен видеть что-то, ну, в общем, полезное.
проблема здесь состоит в том, что данные являются очень ценными (и очень дорогими), поэтому в то время как определение метода получения их было бы легко, заставление торговых мест проведения расстаться с их данными будет почти невозможно. Некоторые MTFs (в настоящее время) обеспечивают их данные бесплатно, но я не уверен, как Вы получили бы их, не платя кому-то еще, как Агентство Рейтер, для них.
Некоторые брокерские фирмы, такие как TDAmeritrade, имеют API-интерфейсы, которые можно использовать для получения потоковых данных с их серверов:
http://www.tdameritrade.com/tradingtools/partnertools/api_dev.html
Мне показались полезными ссылки и подсказки под этим вопросом .
Я обычно нахожу, что ProgrammableWeb - хорошее место для поиска API.