Доброго времени суток уважаемые читатели блога wooden-stool.ru
В одной из прошлах тем мы говорили про полу-автоматическую подписку пользователей на RSS (feed),
тобиш рассматривали небольшой пример как можно получить подписчиков. Там упоминался парсер почты (email), который имел возможность подписывать пользователя на ваш RSS (что такое RSS). Так вот сейчас мы рассмотрим код, который демонстрирует возможность как реализовать подписку на RSS через delphi. Собственно не буду тянуть резину а сразу предоставлю код, после чего немного его прокомментирую.
Как сделать подписку на RSS ленту, на delphi
var ms:tmemorystream; begin // Заполняем необходимые данные для отправки к скрипту feedburner ts:=tstringlist.Create(); ts.add('email=vasyapupkin@google.com '); ts.add('uri=gloys/rtUT'); //Тут айди нашего фида (feed) - где, что и как его узнать чуть ниже ts.add('loc=ru_RU'); // Собственно можно и без этого, тут указываем язык // Шлём пост запрос на feedburner memo3.lines.text:=utf8toansi(idhttp1.post('http://feedburner.google.com/fb/a/mailverify', ts)); ts.free; // Данные которые пришли - в memo3, для того что-бы удобнее было анализировать ответные данные // Тут мы немного шаманим и выдераем имя картинки аля капча img:=copy(memo3.lines.Text,pos('captcha?ct=',memo3.lines.text),posex('"',memo3.lines.text,pos('captcha?ct=',memo3.lines.text))-pos('captcha?ct=',memo3.lines.text)); // Выдераем некий ключ сесии из имени картинки, который необходимо передавать со всеми данными иначе fail token:=copy(img,pos('=',img)+1,length(img)); // Собственно пилим гет запрос - скачиваем капчу, после чего показываем её в Image1 ms:=tmemorystream.Create; idhttp1.get('http://feedburner.google.com/fb/a/'+img, ms); ms.SaveTofile('1.jpg'); ms.free; Image1.Picture.LoadFromFile('1.jpg');
// Тут опять же формируем данные, отпровляем текст с капчи // Это последний запрос на feedburner, после этого пользователю с емейл vasyapupkin@google.com придёт письмо, с предложением подписаться на ваш feed <code>ts:=tstringlist.Create(); ts.add('emailSyndicationVerificationForm'); ts.add('uri=gloys/rtUT'); ts.add('email=vasyapupkin@google.com '); ts.add('token='+token); ts.add('fbat'); ts.add('captcha='+edit2.text); memo3.Lines.text:=utf8toansi(idhttp1.post('http://feedburner.google.com/fb/a/mailverify', ts));</code>
Вот собственно и всё, теперь покажу как узнать айди фида (feed) c feedburner
Определение ID (айди) фида (feed)
Идём сюда feeds.feedburner.com, выбераем ваш фид (feed) и жмём на надпись «Edit Feed Details», ну и собственно видим такую картину
Этот айди нужно вставить в код, он передаёться скрипту feedburner в качестве параметра «uri».
Всем удачи и до скорой встречи.
Спасибо то что я искал! Вот у меня тоже есть полезные delphi уроки
Интересненько. Получается собственная читалка для фидбёрнера. Помню когда-то решил написать браузер на делфях. За пару дней что-то таки получилось. Жаль исходников не осталось. Возможно когда-то под настроение что-то зделаю.
Неплохо, была бы ещё возможно автоматического подтверждения подписки = )
Хорошая статья, спасибо. Можно допилить, доделать чтобы читал несколько лент и можно выкладывать в Open Source
Спасибо за инфу, помогло.