После того как случайно наткнулся на историю статусов квипа решил по удалять их, но дело это оказалось весьма муторным в связи с тормозами сайта. Стало лень, а лень-это двигатель прогресса написал вот такую утилиту для этого дела. Программа удаляет все сообщения из блога mblogi.qip собственно я и не знал, что у меня там блог ведется)) и решил почистить инет от говна))
Исходный код программы представлен ниже:
unit untMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TfrmMain = class(TForm)
btnAutorize: TButton;
edtLogin: TEdit;
edtPass: TEdit;
edtCount: TEdit;
lblLogin: TLabel;
lblPass: TLabel;
lblCount: TLabel;
mmoLog: TMemo;
lblLog: TLabel;
edtAutor: TEdit;
procedure btnAutorizeClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
sUrl='http://mblogi.qip.ru/api/recv?method=';
var
frmMain: TfrmMain;
implementation
uses
msxml, superobject,IdURI;
{$R *.dfm}
procedure TfrmMain.btnAutorizeClick(Sender: TObject);
var
req: IXMLHttpRequest;
o: ISuperObject;
sSid,sMsgId,sTemp:string;
jsobArray:TSuperArray;
Pairs: TSuperEnumerator;
begin
req := CoXMLHTTP.Create;
try
//авторизация
req.open('GET', sUrl+'mblogi.auth.getsid¶ms={"user":"'+edtLogin.Text+'","password":"'+edtPass.Text+'"}', false, EmptyParam, EmptyParam);
req.send(EmptyParam);
sTemp:=req.responseText;
if AnsiPos('NOT_AUTH_SES_CLOSE',sTemp)<>0 then
begin
mmoLog.Lines.Add('Ошибка при авторизации!');
raise Exception.Create('Не верный логин или пароль!');
end;
mmoLog.Lines.Add('Авторизация прошла успешно!');
o := so(sTemp);
sSid:=o.S['Sid'];
//получаем посты
req.open('GET',TIdURI.URLEncode( sUrl+'mblogi.timeline.user¶ms={"Sid":"'+ sSid+'","or user":"","count":"'+edtCount.Text+'"}'), false, EmptyParam, EmptyParam);
req.send(EmptyParam);
o := so(req.responseText);
Pairs:=o.GetEnumerator;
while Pairs.MoveNext do
begin
sMsgId:=Pairs.Current.S['msg_id'];
//удаляем посты
req.open('GET',TIdURI.URLEncode( sUrl+'mblogi.message.destroy¶ms={"Sid":"'+ sSid+'","MsgID":"'+sMsgId+'"}'), false, EmptyParam, EmptyParam);
req.send(EmptyParam);
mmoLog.Lines.Add('Сообщение №'+Pairs.Current.S['msg_id']+' удалено!');
end;
finally
Pairs.Free;
end;
mmoLog.Lines.Add('Задача завершена успешно!');
Application.MessageBox('Сообщения успешнно удалены.', 'Информация', MB_OK +
MB_ICONINFORMATION);
end;
end.
Для тех кто не программист, можно скопировать готовую программу.
Пароли и логины не ворую можете проверить сниффером. Связь только происходит с сервером mblogi.qip и все.
Контрольные суммы:
MD5:AD8DC7B7C211BB00F950FBBF3B25CDE9
SHA-1:4842EABD7DFD465BF3E2574D5DED8D0CEFA33B6A
SHA-256:6f67bf720348c131db52a76463c8df4b89a9a08082f4004fd997ed032c62bdb9
Отчет Virustotal
Скачать программу можно отсюда Download
Исходный код программы представлен ниже:
unit untMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TfrmMain = class(TForm)
btnAutorize: TButton;
edtLogin: TEdit;
edtPass: TEdit;
edtCount: TEdit;
lblLogin: TLabel;
lblPass: TLabel;
lblCount: TLabel;
mmoLog: TMemo;
lblLog: TLabel;
edtAutor: TEdit;
procedure btnAutorizeClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
sUrl='http://mblogi.qip.ru/api/recv?method=';
var
frmMain: TfrmMain;
implementation
uses
msxml, superobject,IdURI;
{$R *.dfm}
procedure TfrmMain.btnAutorizeClick(Sender: TObject);
var
req: IXMLHttpRequest;
o: ISuperObject;
sSid,sMsgId,sTemp:string;
jsobArray:TSuperArray;
Pairs: TSuperEnumerator;
begin
req := CoXMLHTTP.Create;
try
//авторизация
req.open('GET', sUrl+'mblogi.auth.getsid¶ms={"user":"'+edtLogin.Text+'","password":"'+edtPass.Text+'"}', false, EmptyParam, EmptyParam);
req.send(EmptyParam);
sTemp:=req.responseText;
if AnsiPos('NOT_AUTH_SES_CLOSE',sTemp)<>0 then
begin
mmoLog.Lines.Add('Ошибка при авторизации!');
raise Exception.Create('Не верный логин или пароль!');
end;
mmoLog.Lines.Add('Авторизация прошла успешно!');
o := so(sTemp);
sSid:=o.S['Sid'];
//получаем посты
req.open('GET',TIdURI.URLEncode( sUrl+'mblogi.timeline.user¶ms={"Sid":"'+ sSid+'","or user":"","count":"'+edtCount.Text+'"}'), false, EmptyParam, EmptyParam);
req.send(EmptyParam);
o := so(req.responseText);
Pairs:=o.GetEnumerator;
while Pairs.MoveNext do
begin
sMsgId:=Pairs.Current.S['msg_id'];
//удаляем посты
req.open('GET',TIdURI.URLEncode( sUrl+'mblogi.message.destroy¶ms={"Sid":"'+ sSid+'","MsgID":"'+sMsgId+'"}'), false, EmptyParam, EmptyParam);
req.send(EmptyParam);
mmoLog.Lines.Add('Сообщение №'+Pairs.Current.S['msg_id']+' удалено!');
end;
finally
Pairs.Free;
end;
mmoLog.Lines.Add('Задача завершена успешно!');
Application.MessageBox('Сообщения успешнно удалены.', 'Информация', MB_OK +
MB_ICONINFORMATION);
end;
end.
Для тех кто не программист, можно скопировать готовую программу.
Пароли и логины не ворую можете проверить сниффером. Связь только происходит с сервером mblogi.qip и все.
Контрольные суммы:
MD5:AD8DC7B7C211BB00F950FBBF3B25CDE9
SHA-1:4842EABD7DFD465BF3E2574D5DED8D0CEFA33B6A
SHA-256:6f67bf720348c131db52a76463c8df4b89a9a08082f4004fd997ed032c62bdb9
Отчет Virustotal
Скачать программу можно отсюда Download
Good, good....)))
ОтветитьУдалитьЗдравствуйте.
ОтветитьУдалитьПрограмма пишет об удачном удалении, но на деле ничего не удалилось. В чём может быть проблема?
сейчас посмотрю
Удалитьпосмотрел у меня все норм удаляет. может логин у вас какой то особенный
Удалитьскиньте лог работы программы я гляну
УдалитьВ первый раз, когда запускал, вот такой лог был:
Удалить«Авторизация прошла успешно!
Задача завершена успешно!»
Сейчас ещё раз запустил, и он другой лог написал и всё удалил. Спасибо за программу, удалил 8000 сообщений! :)
>В первый раз, когда запускал, вот такой лог был:
Удалить>«Авторизация прошла успешно!
>Задача завершена успешно!»
необъяснимо но факт))
>Спасибо за программу, удалил 8000 сообщений! :)
Рад, что пригодилась!
Ого, я и не знал, что там какие-то блоги ))
ОтветитьУдалить