Получить md5 картинки в интернете

  • Автор темы Автор темы Ilant
  • Дата начала Дата начала

Ilant

Client
Регистрация
25.12.2015
Сообщения
6
Реакции
0
Баллы
1
Добрый день!
Есть ссылка на товар в интернет магазине.

Задача: спарсить ссылки на картинки и получить md5

Должно получиться вот это:

HTML:
Развернуть Свернуть Копировать
<foto-remote url="http://site1.ru/pictures/image/1.jpg" md5="123456"/>

Я смог спарсить ссылки, но не могу получить md5.

Прошу, помогите!:)
 
мд5 Вы сможете получить только скачав картинку на компьютер.
Ну тогда алгоритм такой приходит в голову: скачать картинку, получить md5, вставить значение в файл, удалить картинку.
Все умею кроме получить md5, подскажите как, пожалуйста.
 
http://zennolab.com/discussion/threads/snipet-poluchenija-md5-dlja-stroki.9898/
http://zennolab.com/discussion/threads/c-shifrovanie-v-md5.17355/


Так в коде страницы получается уже есть строка MD5 и вы ее не можете выпарсить? Или что?
Нет, мне нужно получить вот такую запись:
<foto-remote url="http://site1.ru/pictures/image/1.jpg" md5="123456"/>

У меня есть ссылка на страницу товара. Я перехожу по ссылке, собираю ссылки на фото, получаю вот так:

<foto-remote url="http://site1.ru/pictures/image/1.jpg" md5="
<foto-remote url="http://site1.ru/pictures/image/2.jpg" md5="
<foto-remote url="http://site1.ru/pictures/image/3.jpg" md5="

Далее мне нужно получить md5 этих картинок.

С этим проблема, но за ссылки спасибо, попробую разобраться.
 
Нет, мне нужно получить вот такую запись:
<foto-remote url="http://site1.ru/pictures/image/1.jpg" md5="123456"/>

У меня есть ссылка на страницу товара. Я перехожу по ссылке, собираю ссылки на фото, получаю вот так:

<foto-remote url="http://site1.ru/pictures/image/1.jpg" md5="
<foto-remote url="http://site1.ru/pictures/image/2.jpg" md5="
<foto-remote url="http://site1.ru/pictures/image/3.jpg" md5="

Далее мне нужно получить md5 этих картинок.

С этим проблема, но за ссылки спасибо, попробую разобраться.

Качаете фотку, далее выполняете с ней код:

Код:
Развернуть Свернуть Копировать
using (System.IO.FileStream fs = new System.IO.FileStream(@"D:\1.jpg", System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
    System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
    byte[] fileData = new byte[fs.Length];
    fs.Read(fileData, 0, (int)fs.Length);
    byte[] checkSum = md5.ComputeHash(fileData);
    string result = BitConverter.ToString(checkSum).Replace("-", String.Empty);
    return result;
}
 
Качаете фотку, далее выполняете с ней код:

Код:
Развернуть Свернуть Копировать
using (System.IO.FileStream fs = new System.IO.FileStream(@"D:\1.jpg", System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
    System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
    byte[] fileData = new byte[fs.Length];
    fs.Read(fileData, 0, (int)fs.Length);
    byte[] checkSum = md5.ComputeHash(fileData);
    string result = BitConverter.ToString(checkSum).Replace("-", String.Empty);
    return result;
}
Спасибо, то что нужно
 
ну так отблагодарите человека лайком
 
Здравствуйте, как сделать чтоб этот код брал путь к файлу из переменной
  1. using (System.IO.FileStream fs = new System.IO.FileStream(@"D:\1.jpg", System.IO.FileMode.Open, System.IO.FileAccess.Read))
  2. {
  3. System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
  4. byte[] fileData = new byte[fs.Length];
  5. fs.Read(fileData, 0, (int)fs.Length);
  6. byte[] checkSum = md5.ComputeHash(fileData);
  7. string result = BitConverter.ToString(checkSum).Replace("-", String.Empty);
  8. return result;
  9. } если делаю так к примеру: @"{-Project.Directory-}\img\{-Variable.login-}.png" то в логе:1.jpg
 
Здравствуйте, как сделать чтоб этот код брал путь к файлу из переменной
  1. using (System.IO.FileStream fs = new System.IO.FileStream(@"D:\1.jpg", System.IO.FileMode.Open, System.IO.FileAccess.Read))
  2. {
  3. System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
  4. byte[] fileData = new byte[fs.Length];
  5. fs.Read(fileData, 0, (int)fs.Length);
  6. byte[] checkSum = md5.ComputeHash(fileData);
  7. string result = BitConverter.ToString(checkSum).Replace("-", String.Empty);
  8. return result;
  9. } если делаю так к примеру: @"{-Project.Directory-}\img\{-Variable.login-}.png" то в логе:Посмотреть вложение 17012
потому что вы в С# пытаетесь вставить макрос а нужно вставлять это "project.Variables["get"].Value"
В кубике С# правой кнопкой по полю, там будет "установить значение переменной".
 
потому что вы в С# пытаетесь вставить макрос а нужно вставлять это "project.Variables["get"].Value"
В кубике С# правой кнопкой по полю, там будет "установить значение переменной".
пробовал тогда вообще ошибка компиляции кода
 
если пишу так @"{-Project.Directory-}\img\name.png" - тогда все ок
 
пробовал тогда вообще ошибка компиляции кода
потому что нужно так (System.IO.FileStream fs = new System.IO.FileStream(project.Variables["get"].Value, System.IO.FileMode.Open, System.IO.FileAccess.Read))

если пишу так @"{-Project.Directory-}\img\name.png" - тогда все ок
можно и так если работает!
Версия РМ старая да ? )))
В новой так небудет наверное работать )
 
(System.IO.FileStream fs = new System.IO.FileStream(project.Variables["get"].Value, System.IO.FileMode.Open, System.IO.FileAccess.Read))
{System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] fileData = new byte[fs.Length];
fs.Read(fileData, 0, (int)fs.Length);
byte[] checkSum = md5.ComputeHash(fileData);
string result = BitConverter.ToString(checkSum).Replace("-", String.Empty);
return result;
} так тоже ошибка компиляции кода, версия 5.9.9.1 мне нужно подставлять название с переменной, name.png не подходит
 
(System.IO.FileStream fs = new System.IO.FileStream(project.Variables["get"].Value, System.IO.FileMode.Open, System.IO.FileAccess.Read))
{System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] fileData = new byte[fs.Length];
fs.Read(fileData, 0, (int)fs.Length);
byte[] checkSum = md5.ComputeHash(fileData);
string result = BitConverter.ToString(checkSum).Replace("-", String.Empty);
return result;
} так тоже ошибка компиляции кода, версия 5.9.9.1 мне нужно подставлять название с переменной, name.png не подходит
а переменную 'get' я чтоли создавать буду?
157a406649aa426f8dd1de5efdf45e0e.png
 
не знаю почему но не работает( переменные все есть, значения в них тоже есть, файл существует...
 
точнее значение есть в переменной гет
 
теперь возьми вот этот код скопируй и вставь снова себе в кубик С#

C#:
Развернуть Свернуть Копировать
using (System.IO.FileStream fs = new System.IO.FileStream(project.Variables["get"].Value, System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
    System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
    byte[] fileData = new byte[fs.Length];
    fs.Read(fileData, 0, (int)fs.Length);
    byte[] checkSum = md5.ComputeHash(fileData);
    string result = BitConverter.ToString(checkSum).Replace("-", String.Empty);
    return result;
}
 
  • Оценить
Реакции: vinznsk и kul0n
спасибо друг, ты очень помог, так понимаю что что проблем был в этом месте?1.jpg
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)