HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("http://www.blabla.ru/image.jpg");
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
Stream imageJpg = Response.GetResponseStream();
Image img=Image.FromStream(imageJpg);
pictureBox.Image=img;
imageJpg.Close();
Response.Close();
Url-рисунок
Проблема такая... как в PictureBox например, запихать url-рисунок и что такое в System.Net URI, как расшифровывается и т.д.?
2) Для того, чтобы тебе загрузить в PictureBox рисунок через Url, нужно закачать сам рисунок на комп. Это можно сделать так:
using System;
using System.Net;
using System.IO;
using System.Text;
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("http://www.blabla.ru/image.jpg");
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
Stream imageJpg = Response.GetResponseStream();
Теперь в переменной imageJpg находится поток байтов нужного изображения.
StreamReader sr = new StreamReader(imageJpg);
byte[] imageContent = new byte[sr.Length];
sr.Read(imageContent, 0, sr.Length);
Stream sw = new FileStream("image.jpg", FileMode.Create);
sw.Write(imageContent, 0, imageContent.Length);
sw.Close();
sr.Close();
imageJpg.Close();
Response.Close();
Теперь файл image.jpg находится на локальном диске.
sr.Read(char[], 0, sr.Length);
sr.Write(byte[]...)
геморойно слегка... т.к. нужно рисунок возникла след. идея:
Код:
это кончено всё хорошо, но у меня вышла накладочка... картинка в файле *.phtml@k=#random#
причем #random# генерится на серваке и всегда разное (из серии защита от спама)... вот такую картинку мне нужно выдрать...
А как же ты узнаешь этот random сам?
http://..../image.phtml?k=1231231; когда сайт перегружаешь k меняется в сторону большего... мож. даже и не rand'ом генерится, но факт в том, что число всегда разное...
Когда сайт прогружается смотришь url рисунка, а там нечто похожее на
После каких действий появляется ссылка на картинку? Если я понял правильно, то Url, на котором находится картинка, постоянен, а сама ссылка на картинку меняется. Если так, тогда тебе нужно получить ответ на запрос этого ресурса. Дальше пропарсить HTML код, узнать адрес картинки и схавать картинку новым запросом. Парсеров HTML в инете навалом бесплатных.
sms.megafonmoscow.ru ссылку на картинку с кодом подтверждения и всё сразу станет ясно...
посмотри на сайте
Цитата:
Originally posted by alektrik
посмотри на сайте sms.megafonmoscow.ru ссылку на картинку с кодом подтверждения и всё сразу станет ясно...
посмотри на сайте sms.megafonmoscow.ru ссылку на картинку с кодом подтверждения и всё сразу станет ясно...
Предлагаю такой план:
1) С помощью объекта Response получаешь поток ответа (GetResponseStream).
2) Далее ищешь тот тэг img, в котором находится путь к изображению при помощи парсера HTML-кода (качнуть можно без проблем где угодно). Главное не вызывай метод Close для объекта Response, иначе закроешь сессию и код, введёный в соответствие этой картинки получится неверный.
Ну вот и всё, собственно