Рейтинг:
0
Sandeep Mewara
Если вы используете какой-либо сетевой инструмент (проще всего было бы использовать опцию browser Developer Tools), вы можете увидеть, что запрос сделан по url-адресу и ответ получен.
Ответ имеет тип: application/csv
Ответная полезная нагрузка вместе с ней.
Эта полезная нагрузка может быть сохранена как ожидаемый тип ответа (CSV) в виде простого сохранения файла (потока) на диске.
migallo
Большое вам спасибо за этот Сандип, мои навыки кодирования очень ограничены. Проблема, которую я получаю, заключается в том, что когда я пытаюсь получить ответ, он выходит из строя. Вызов ниже GetResponse() возвращает это исключение: "System.Net.WebException: 'произошла ошибка при отправке запроса. Невозможно прочитать данные из транспортного соединения: попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через определенный промежуток времени, или установленное соединение не удалось, потому что подключенный хост не ответил.' "
Не могли бы вы указать мне правильное направление?
Саб Тест()
Dim req As HttpWebRequest = HttpWebRequest.Создать("https://www.nasdaq.com/api/v1/historical/AMZN/stocks/2020-07-20/2020-07-22")
Dim res As HttpWebResponse = req.метод GetResponse()
- спаси рек.метод GetResponse.GetResponseStream() на диск
РЭС.Рядом()
Конец Подводной Лодки
Большое спасибо!!
Sandeep Mewara
используя (Stream file = файл.Создать("цитаты.КШМ"))
{
request = (HttpWebRequest)WebRequest.CreateDefault(новый Uri(url));
запрос.Тайм-аут = 30000;
var response = (HttpWebResponse)request.GetResponse();
using (Stream input = response.GetResponseStream())
{
CopyStream(input, file);
}
}
migallo
Привет, все еще не везет... та же проблема. Вызов GetResponse() продолжает возвращать одно и то же исключение. Я не думаю, что это проблема тайм-аута... если вы откроете URL-адрес на новой странице, то ответом будет только файл, а страница вообще не будет возвращена. Я думаю, что это может быть связано с этим. Точный код, который я запускаю, находится ниже:
static void Main(string[] args)
{
используя (Stream file = файл.Create("quotesAMZN.csv"))
{
var request = (HttpWebRequest)WebRequest.CreateDefault(новый Uri("https://www.nasdaq.com/api/v1/historical/AMZN/stocks/2020-07-20/2020-07-22"));
запрос.Тайм-аут = 30000;
var response = (HttpWebResponse)request.GetResponse();
using (Stream input = response.GetResponseStream())
{
вход.CopyTo(файл);
}
}
Приставка.WriteLine("Привет, Мир!");
}
System.Net.WebException: 'при отправке запроса произошла ошибка. Невозможно прочитать данные из транспортного соединения: попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через определенный промежуток времени, или установленное соединение не удалось, потому что подключенный хост не ответил.'
Sandeep Mewara
Установите это перед вызовом Webrequest и посмотрите:
Servicepointmanager и.Expect100Continue = true;
Servicepointmanager и.SecurityProtocol = SecurityProtocolType.Tls
| SecurityProtocolType.Tls11
| SecurityProtocolType.Tls12
| SecurityProtocolType.Ssl3;
migallo
Привет Сандип, то же исключение, что и раньше... :( "Ssl3", по-видимому, устарел и не компилируется, но вместо этого я включил "Tls13", который был доступен в качестве опции.
Полный код, который я запускаю, находится ниже:
static void Main(string[] args)
{
Servicepointmanager и.Expect100Continue = true;
Servicepointmanager и.SecurityProtocol = SecurityProtocolType.СС | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls13;
используя (Stream file = файл.Create("quotesAMZN.csv"))
{
var request = (HttpWebRequest)WebRequest.CreateDefault(новый Uri("https://www.nasdaq.com/api/v1/historical/AMZN/stocks/2020-07-20/2020-07-22"));
запрос.Тайм-аут = 30000;
var response = (HttpWebResponse)request.GetResponse();
using (Stream input = response.GetResponseStream())
{
вход.CopyTo(файл);
}
}
Приставка.WriteLine("Завершено!");
}
migallo
Привет, Сандип, мне удалось найти решение на другом форуме. Строки ниже сделали трюк! :)
запрос.AllowWriteStreamBuffering = false;
запрос.Принимать = "*/*";
Sandeep Mewara
Здорово знать, что ваш запрос решен!
migallo
Большое спасибо за вашу помощь!!