@andrey71
админю и учу C#, ASP.NET Core

Как скачать изображение и не получить Bad Request: wrong URL host?

Добрый день! Уважаемые знатоки, подскажите, пишу бота для телеграма, одной из функции которого будет отправка фото.
Фото надо скачать и потом уже отправить в чат.
Вот код:
using (WebClient webClient = new WebClient())
{
await Bot.SendChatActionAsync(message.From.Id, ChatAction.UploadPhoto);
string credentails = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes("admin:admin"));
webClient.Headers[System.Net.HttpRequestHeader.Authorization] = "Basic " + credentails;
byte[] data = webClient.DownloadData(new Uri("http://192.168.10.40/Streaming/channels/1/picture"));
const string file = @"C:\temp\1.jpeg";
using (MemoryStream mem = new MemoryStream(data))
{
using (var image = Image.FromStream(mem))
{
image.Save("C:\\temp\\1.jpeg", ImageFormat.Jpeg);
}
using (var fileStream = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read))
{
await Bot.SendPhotoAsync(message.Message.Chat.Id, fileStream);
}
}
}

На строке с загрузкой данных я получаю : Bad Request: wrong URL host
Но почему? В браузере открывается изображение, а тут...

Очень буду рад помощи/совету! У меня идеи кончились. :(

Спасибо!

Попробовал скачать изображение с консольного приложения.
Всё получилось. А точно такой же код в боте - не работает :(

const string url_vebcam02 = "http://192.168.10.40/Streaming/channels/1/picture";
using (WebClient webClient = new WebClient())
                    {
                        string credentails = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes("admin:admin"));
                        webClient.Headers[System.Net.HttpRequestHeader.Authorization] = "Basic " + credentails;
                        webClient.DownloadFile(new Uri(url_vebcam02), @"C:\temp\11.jpg");
                    }
  • Вопрос задан
  • 266 просмотров
Пригласить эксперта
Ответы на вопрос 1
@lil_Toady
Может дело в том что 192.168.10.40 - это адрес внутри локальной сети, а не внешний. Поэтому вы на него можете зайти, а бот нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы