Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Bir yarışma web sayfasındaki Butona Tıklatma
#1
Selamlar bir sürü örnek var burada bununla ilgili ancak hiç biri işe yaramadı.

https://karisimbi.events/consumers-choic...f-the-year
Bu sayfadaki MONI baby altındaki Vote tıklanacak. Cash temizlenip tekrar tıklanacak. Hile gibi görünüyor ama rakip firmalar da bu hileyi kullanıyor. O nedenle sıkıntı yok. Operayı açıp cursörü oraya getirip tıklatıp yine cursor ile kapattırıp  oy verdiriyorum ama uzun zaman alıyor. İşime yaramıyor.
Yaptığım ve denediğim yöntem kodlarda mevcut. Bunlar gibi bir çok kaynaktan yararlanmaya çalıştım fakat olmuyor. 
 


http://www.delphiturkiye.com/forum/viewtopic.php?t=22058
https://stackoverflow.com/questions/21942040/delphi-webbrowser-how-to-get-value-from-tag-name-inside-id
https://www.delphican.com/showthread.php?tid=2270

unit fmtikla;



interface



uses

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, shellapi, Vcl.ExtCtrls,

  Vcl.OleCtrls, SHDocVw, IdBaseComponent, IdComponent, IdTCPConnection,

  IdTCPClient, IdHTTP, System.Net.URLClient, System.Net.HttpClient,

  System.Net.HttpClientComponent, Vcl.DBCtrls, Winapi.WebView2, Winapi.ActiveX,

  Vcl.Edge;



type

  TForm1 = class(TForm)

    Edit1: TEdit;

    Edit2: TEdit;

    Timer1: TTimer;

    Timer2: TTimer;

    Button1: TButton;

    Button2: TButton;

    EdgeBrowser1: TEdgeBrowser;

    procedure koordinat;

    procedure Timer1Timer(Sender: TObject);

    procedure Timer2Timer(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  Form1: TForm1;

  StreamData :TMemoryStream;

  Url,html,sec, sayfa,burc, burc1,deger,ad, link, resim, fiyat, indirim  : string;

implementation



{$R *.dfm}







Function aradansec( text, ilk, son:String ): String;

begin

   Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);

   Result := Copy(Text, 1, Pos(Son, Text)-1);

end;



function degis(s:string):string;

var

 sonuc:String;

 secenek:TReplaceFlags;//unutmayın

begin

  result:='';

  secenek:=[rfReplaceAll]; //Harf Duyarlılığı var

  s:=StringReplace(s,'ý','ı',secenek);  //ÝÞ  Ð

  s:=StringReplace(s,'þ','ş',secenek);

  s:=StringReplace(s,'ð','ğ',secenek);

  s:=StringReplace(s,'Ý','İ',secenek);   // yaðýþ

  s:=StringReplace(s,'Þ','Ş',secenek);

  s:=StringReplace(s,'Ð','Ğ',secenek);

  result:=s;

end;





procedure soltikla;

begin

 Mouse_Event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);

 Mouse_Event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

end;



// Sağ tuş ile tıklama için

procedure sagtikla;

begin

 Mouse_Event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);

 Mouse_Event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);

end;



// Çift tıklama için

procedure cifttikla;

begin

 soltikla;

 GetDoubleClickTime;

 soltikla;

end;





function StartApp(apchOperation, apchFileName, apchParameters, apchDirectory: PChar;awrdShowCmd: Word): Cardinal;

var

    lseiInfo: TShellExecuteInfo;

begin

    Result := 0;

    FillChar(lseiInfo, SizeOf(lseiInfo), Chr(0));

    lseiInfo.cbSize := SizeOf(lseiInfo);

    lseiInfo.fMask := SEE_MASK_NOCLOSEPROCESS;

    lseiInfo.lpVerb := apchOperation;

    lseiInfo.lpFile := apchFileName;

    lseiInfo.lpParameters := apchParameters;

    lseiInfo.lpDirectory := apchDirectory;

    lseiInfo.nShow := awrdShowCmd;

    if Boolean(ShellExecuteEx(@lseiInfo)) then

    Result := lseiInfo.hProcess;

end;



procedure  KillProcess(hProcess: Cardinal);

Var

  ovExitCode: LongWord;

begin

    try

        if hProcess <> 0 then begin

            GetExitCodeProcess(hProcess, ovExitCode);

            if (ovExitCode = STILL_ACTIVE) or (ovExitCode <> WAIT_OBJECT_0) then

            TerminateProcess(hProcess, ovExitCode);

            CloseHandle(hProcess);

        end;

    except

    end;

end;





procedure TForm1.Button2Click(Sender: TObject);

begin

  EdgeBrowser1.Navigate( 'https://karisimbi.events/consumers-choice-awards-cca/hygiene-sanitation-brand-of-the-year');

  Application.ProcessMessages;

//    WebBrowser1.OleObject.Document.GetElementByID('.vote').Click;

end;



procedure TForm1.koordinat;

var

p:TPoint;

begin

  p:= Mouse.CursorPos;

  Edit1.Text:=inttostr(p.X);

  Edit2.Text:=inttostr(p.Y);

end;



procedure TForm1.Timer1Timer(Sender: TObject);

begin

 koordinat;

end;



procedure islemebasla;

var hApp : Cardinal;

begin

    ShellExecute(0, 'open', 'Opera.exe', Pchar('https://karisimbi.events/consumers-choice-awards-cca/hygiene-sanitation-brand-of-the-year'), '', SW_Normal);

    Sleep(3000);

    SetCursorPos(847,648);

    soltikla;

    Sleep(3000);

    SetCursorPos(856,319);

    soltikla;

    SetCursorPos(1344,11);

    soltikla;

    SetCursorPos(818,410);

    soltikla;

end;



procedure TForm1.Timer2Timer(Sender: TObject);

begin

  islemebasla;

end;



procedure TForm1.Button1Click(Sender: TObject);

begin

  timer2.Enabled := True;

end;






end.
Cevapla
#2
Tahmin edeceğiniz üzere en hızlı çözüm tarayıcı kullanmamak ama bu çözüme gitmediğinize göre oy verme işlemini Javascript tetikliyor galiba. Eğer dil önemli değilse Python + PhantomJS (veya benzeri) işinize yarar mı acaba? Yada Selenium ile sayfa bir kere açılıp sonsuz döngüde sürekli refresh ettirilemez mi?
Cevapla
#3
(28-01-2022, Saat: 17:06)Hayati Adlı Kullanıcıdan Alıntı: Tahmin edeceğiniz üzere en hızlı çözüm tarayıcı kullanmamak ama bu çözüme gitmediğinize göre oy verme işlemini Javascript tetikliyor galiba. Eğer dil önemli değilse Python + PhantomJS (veya benzeri) işinize yarar mı acaba? Yada Selenium ile sayfa bir kere açılıp sonsuz döngüde sürekli refresh ettirilemez mi?

Sayfa bir defa açılıp sonsuz döngüde sürekli refresh yapıldığında VOTE değil verilen oy miktarı ekranı çıkacaktır diye tahmin ediyorum. Çünkü chrome, edge, ( Twebbrowser'da sayfa nedense hiç açılmıyor o yüzden bir şey yapamadım. Hata vermiyor ekran boş kalıyor) gibi browserlarda hafızada kalıyor. Cash temizlendiğinde ancak oy verme ekranı tekrar geliyor. 

Pyhton + PhantomJS kullanmadım. Ama mutlaka bu işleri yapan kütüphaneleri vardır onların  Shy ve kolaylıkla yapabiliyorlardır.
Cevapla
#4
Tamam iste hocam, Selenium da cash temizleme olup olmadigina bakmak lazim, su an uygun degilim ama bende arastiracagim, varsa python ile cozeriz.
Cevapla
#5
(28-01-2022, Saat: 19:55)Hayati Adlı Kullanıcıdan Alıntı: Tamam iste hocam,  Selenium da cash temizleme olup olmadigina bakmak lazim, su an uygun degilim ama bende arastiracagim, varsa python ile cozeriz.

Çok çok teşekkür ederim. Ben de pyhton'a geçmek istiyorum nereden başlamalıyım sizce? Yalan olmasın 2004 yılından beri delphi kullanıyorum. Delphi 7 ile XE 7 arasındaki versiyonlar hariç bütün versiyonlarda bir şeyler yapmaya çalıştım ama yeterince başarılı olamadığımı görüyorum. Program yazdın mı dersen. Evet ERP programı yazdım hem mobilde hem de desktop'da çalışan. Entegrasyon programı yazdım. Mikro yazılım'a entegre. Mikrodaki ürünlerden istediği N11 ve wordpress'e tek butonla ekleyebilen, oradaki satışları mikroya düşürüp fatura kestirebilen ve bildirim gönderen. Depo yönetimi yazdım. v.s. v.s. fakat. Bunlardan 1 kuruş kazandın mı dersen hayır.
Şimdi son noktada basit bir web sayfasındaki bir butona tıklatamayan programı (hatta patch) yazamıyorsam boşuna zorlamışım kendimi. Hiç programcı olamamışım. Kendimi avutmuşum yıllardır.
Cevapla
#6
gördüğüm kadarıyla sunucu tarafında mongodb kullanışmış jquery üzerinden bağlanan ip adresinin ülke ve konum bilgisi https://freegeoip.app/json/ adresinden sorgulanıyor şöyle bir data alınıyor,

{"ip":"x.x.x","country_code":"TR","country_name":"Turkey","region_code":"34","region_name":"Istanbul","city":"Istanbul","zip_code":"34120","time_zone":"Europe/Istanbul","latitude":41.0011,"longitude":28.9687,"metro_code":0}

GET -> https://api.karisimbi.events/api/events/get/award

adresinden vote için kullanılmak üzere

{"success":true,"event":{"_id":"61eb132c787ff108528dff00","title":"CONSUMERS CHOICE AWARDS (CCA)","subtitle":"Consumers Choice Awards (CCA) is organized by KARISIMBI EVENTS with the sole purpose of honoring resilient companies, organizations and individual businesses whose products are defined by high quality and reputation.","slug":"consumers-choice-awards-cca","coverImage":"https://api.karisimbi.events/uploads/images/1642795820515--recoginition.jpeg","location":"Kigali Marriot Hotel","date":"2022-05-13T08:33:12.000Z","__v":0},"award":{"_id":"61ec3aad787ff108528e02be","title":"HYGIENE & SANITATION BRAND OF THE YEAR ","eventId":"61eb132c787ff108528dff00","slug":"hygiene-sanitation-brand-of-the-year","nominees":[{"nominee":{"_id":"61ed146c2cd17091d3650080","name":"CLEAR","imageUrl":"0"},"votes":670,"_id":"61ed14812cd17091d3650085"},{"nominee":{"_id":"61ed14b52cd17091d3650087","name":"SULFO","imageUrl":"0"},"votes":516,"_id":"61ed14c62cd17091d365008d"},{"nominee":{"_id":"61ed14f42cd17091d3650090","name":"BABY STEPS","imageUrl":"0"},"votes":112,"_id":"61ed15042cd17091d3650097"},{"nominee":{"_id":"61ed151b2cd17091d365009b","name":"SUPA","imageUrl":"0"},"votes":936,"_id":"61ed152f2cd17091d36500a3"},{"nominee":{"_id":"61edd51f930bcc5eba381d6a","name":"MALAIKA","imageUrl":"0"},"votes":61,"_id":"61edd541930bcc5eba381d75"},{"nominee":{"_id":"61edd55a930bcc5eba381d7d","name":"MAMI LOVE","imageUrl":"0"},"votes":10459,"_id":"61edd58a930bcc5eba381d89"},{"nominee":{"_id":"61ee4c2554a126230cf212a1","name":"MONI baby","imageUrl":"0"},"votes":16815,"_id":"61ee4c4254a126230cf21488"},{"nominee":{"_id":"61f04519b169af666407090d","name":"TAMU SANITARY PAD","imageUrl":"0"},"votes":14116,"_id":"61f04520b169af6664070bb7"}],"__v":0}}

alınıyor,

MONI baby için;

POST -> https://api.karisimbi.events/api/nominee/vote
Accept: application/json
Payload: {"awardId":"61ec3aad787ff108528e02be","nomineeId":"61ee4c2554a126230cf212a1"}

gönderiliyor, forumda basit bir arama yaparsanız idhttp ile yukarıdaki adrese payload veri ile post çekebilirsiniz.
Cevapla
#7
@Jakarta2 geç yazdığım için kusura bakmayın. Ben size yol gösterecek durumda değilim ama naçizane önerilerimi yazayım. Ben "kitapçı"yım evimde hemen her dille ilgili bir kaç kitap var ama bu çok eski bir alışkanlık. Programlama ve algoritmayı bildiğinize göre bence kitaba ihtiyacınız yok, bir kaç günlük araştırma ve pratik ile dilin syntax'ını  kavradıktan sonra gerisi gelecek zaten. Bence ihtiyacınız olan ilk şey bu, hızlıca, 1 videoda xxx serilerini inceleyin

Yazılım Bilimi

Tirendaz Akademi

Engin Demiroğ

Daha teferruatlı 99 derslik bir seri Arin Yazilim

https://python-istihza.yazbel.com/ 

istihza.com'un PDF'ini sizin için upload ettim
Cevapla
#8
(30-01-2022, Saat: 13:41)Hayati Adlı Kullanıcıdan Alıntı: @Jakarta2 geç yazdığım için kusura bakmayın. Ben size yol gösterecek durumda değilim ama naçizane önerilerimi yazayım. Ben "kitapçı"yım evimde hemen her dille ilgili bir kaç kitap var ama bu çok eski bir alışkanlık. Programlama ve algoritmayı bildiğinize göre bence kitaba ihtiyacınız yok, bir kaç günlük araştırma ve pratik ile dilin syntax'ını  kavradıktan sonra gerisi gelecek zaten. Bence ihtiyacınız olan ilk şey bu, hızlıca, 1 videoda xxx serilerini inceleyin

Yazılım Bilimi

Tirendaz Akademi

Engin Demiroğ

Daha teferruatlı 99 derslik bir seri Arin Yazilim

https://python-istihza.yazbel.com/ 

istihza.com'un PDF'ini sizin için upload ettim

Çok çok teşekkür ederim kardeşim...

(29-01-2022, Saat: 19:45)vedat35 Adlı Kullanıcıdan Alıntı: gördüğüm kadarıyla sunucu tarafında mongodb kullanışmış jquery üzerinden bağlanan ip adresinin ülke ve konum bilgisi https://freegeoip.app/json/ adresinden sorgulanıyor şöyle bir data alınıyor,

{"ip":"x.x.x","country_code":"TR","country_name":"Turkey","region_code":"34","region_name":"Istanbul","city":"Istanbul","zip_code":"34120","time_zone":"Europe/Istanbul","latitude":41.0011,"longitude":28.9687,"metro_code":0}

GET -> https://api.karisimbi.events/api/events/get/award

adresinden vote için kullanılmak üzere

{"success":true,"event":{"_id":"61eb132c787ff108528dff00","title":"CONSUMERS CHOICE AWARDS (CCA)","subtitle":"Consumers Choice Awards (CCA) is organized by KARISIMBI EVENTS with the sole purpose of honoring resilient companies, organizations and individual businesses whose products are defined by high quality and reputation.","slug":"consumers-choice-awards-cca","coverImage":"https://api.karisimbi.events/uploads/images/1642795820515--recoginition.jpeg","location":"Kigali Marriot Hotel","date":"2022-05-13T08:33:12.000Z","__v":0},"award":{"_id":"61ec3aad787ff108528e02be","title":"HYGIENE & SANITATION BRAND OF THE YEAR    ","eventId":"61eb132c787ff108528dff00","slug":"hygiene-sanitation-brand-of-the-year","nominees":[{"nominee":{"_id":"61ed146c2cd17091d3650080","name":"CLEAR","imageUrl":"0"},"votes":670,"_id":"61ed14812cd17091d3650085"},{"nominee":{"_id":"61ed14b52cd17091d3650087","name":"SULFO","imageUrl":"0"},"votes":516,"_id":"61ed14c62cd17091d365008d"},{"nominee":{"_id":"61ed14f42cd17091d3650090","name":"BABY STEPS","imageUrl":"0"},"votes":112,"_id":"61ed15042cd17091d3650097"},{"nominee":{"_id":"61ed151b2cd17091d365009b","name":"SUPA","imageUrl":"0"},"votes":936,"_id":"61ed152f2cd17091d36500a3"},{"nominee":{"_id":"61edd51f930bcc5eba381d6a","name":"MALAIKA","imageUrl":"0"},"votes":61,"_id":"61edd541930bcc5eba381d75"},{"nominee":{"_id":"61edd55a930bcc5eba381d7d","name":"MAMI LOVE","imageUrl":"0"},"votes":10459,"_id":"61edd58a930bcc5eba381d89"},{"nominee":{"_id":"61ee4c2554a126230cf212a1","name":"MONI baby","imageUrl":"0"},"votes":16815,"_id":"61ee4c4254a126230cf21488"},{"nominee":{"_id":"61f04519b169af666407090d","name":"TAMU SANITARY PAD","imageUrl":"0"},"votes":14116,"_id":"61f04520b169af6664070bb7"}],"__v":0}}

alınıyor,

MONI baby için;

POST -> https://api.karisimbi.events/api/nominee/vote
Accept: application/json
Payload: {"awardId":"61ec3aad787ff108528e02be","nomineeId":"61ee4c2554a126230cf212a1"}

gönderiliyor, forumda basit bir arama yaparsanız idhttp ile yukarıdaki adrese payload veri ile post çekebilirsiniz.

Öncelikle teşekkür ederim.
idhttp ssl hatası vereceğinden nethttpclient kullandım. Dönen cevap bu oldu. {"success":false,"message":"Not Found"} sanırım olmadı.

procedure TForm1.Button2Click(Sender: TObject);
var
NetHTTPClient: TNetHTTPClient;
Request: TStringList;
StreamData :TMemoryStream;
begin
try
  Request := TStringList.Create;
  StreamData := TMemoryStream.Create;
  try
    Request.Add('awardId='+'61ec3aad787ff108528e02be');
    Request.Add('nomineeId='+ '61ee4c2554a126230cf212a1');
    NetHTTPClient := TNetHTTPClient.Create(Nil);
    try
      NetHTTPClient.AllowCookies := True;
      NetHTTPClient.HandleRedirects := True;
      NetHTTPClient.Post('https://api.karisimbi.events/api/nominee/vote', Request);
      Memo1.Lines.Add(NetHTTPClient.Get('https://api.karisimbi.events/api/nominee/vote', StreamData).ContentAsString);
    finally
      NetHTTPClient.Free;
    end;
  finally
    Request.Free;
  end;
except
end;
 Application.ProcessMessages;
end;
Cevapla
#9
(31-01-2022, Saat: 13:33)Jakarta2 Adlı Kullanıcıdan Alıntı:
(30-01-2022, Saat: 13:41)Hayati Adlı Kullanıcıdan Alıntı: @Jakarta2 geç yazdığım için kusura bakmayın. Ben size yol gösterecek durumda değilim ama naçizane önerilerimi yazayım. Ben "kitapçı"yım evimde hemen her dille ilgili bir kaç kitap var ama bu çok eski bir alışkanlık. Programlama ve algoritmayı bildiğinize göre bence kitaba ihtiyacınız yok, bir kaç günlük araştırma ve pratik ile dilin syntax'ını  kavradıktan sonra gerisi gelecek zaten. Bence ihtiyacınız olan ilk şey bu, hızlıca, 1 videoda xxx serilerini inceleyin

Yazılım Bilimi

Tirendaz Akademi

Engin Demiroğ

Daha teferruatlı 99 derslik bir seri Arin Yazilim

https://python-istihza.yazbel.com/ 

istihza.com'un PDF'ini sizin için upload ettim

Çok çok teşekkür ederim kardeşim...

(29-01-2022, Saat: 19:45)vedat35 Adlı Kullanıcıdan Alıntı: gördüğüm kadarıyla sunucu tarafında mongodb kullanışmış jquery üzerinden bağlanan ip adresinin ülke ve konum bilgisi https://freegeoip.app/json/ adresinden sorgulanıyor şöyle bir data alınıyor,

{"ip":"x.x.x","country_code":"TR","country_name":"Turkey","region_code":"34","region_name":"Istanbul","city":"Istanbul","zip_code":"34120","time_zone":"Europe/Istanbul","latitude":41.0011,"longitude":28.9687,"metro_code":0}

GET -> https://api.karisimbi.events/api/events/get/award

adresinden vote için kullanılmak üzere

{"success":true,"event":{"_id":"61eb132c787ff108528dff00","title":"CONSUMERS CHOICE AWARDS (CCA)","subtitle":"Consumers Choice Awards (CCA) is organized by KARISIMBI EVENTS with the sole purpose of honoring resilient companies, organizations and individual businesses whose products are defined by high quality and reputation.","slug":"consumers-choice-awards-cca","coverImage":"https://api.karisimbi.events/uploads/images/1642795820515--recoginition.jpeg","location":"Kigali Marriot Hotel","date":"2022-05-13T08:33:12.000Z","__v":0},"award":{"_id":"61ec3aad787ff108528e02be","title":"HYGIENE & SANITATION BRAND OF THE YEAR    ","eventId":"61eb132c787ff108528dff00","slug":"hygiene-sanitation-brand-of-the-year","nominees":[{"nominee":{"_id":"61ed146c2cd17091d3650080","name":"CLEAR","imageUrl":"0"},"votes":670,"_id":"61ed14812cd17091d3650085"},{"nominee":{"_id":"61ed14b52cd17091d3650087","name":"SULFO","imageUrl":"0"},"votes":516,"_id":"61ed14c62cd17091d365008d"},{"nominee":{"_id":"61ed14f42cd17091d3650090","name":"BABY STEPS","imageUrl":"0"},"votes":112,"_id":"61ed15042cd17091d3650097"},{"nominee":{"_id":"61ed151b2cd17091d365009b","name":"SUPA","imageUrl":"0"},"votes":936,"_id":"61ed152f2cd17091d36500a3"},{"nominee":{"_id":"61edd51f930bcc5eba381d6a","name":"MALAIKA","imageUrl":"0"},"votes":61,"_id":"61edd541930bcc5eba381d75"},{"nominee":{"_id":"61edd55a930bcc5eba381d7d","name":"MAMI LOVE","imageUrl":"0"},"votes":10459,"_id":"61edd58a930bcc5eba381d89"},{"nominee":{"_id":"61ee4c2554a126230cf212a1","name":"MONI baby","imageUrl":"0"},"votes":16815,"_id":"61ee4c4254a126230cf21488"},{"nominee":{"_id":"61f04519b169af666407090d","name":"TAMU SANITARY PAD","imageUrl":"0"},"votes":14116,"_id":"61f04520b169af6664070bb7"}],"__v":0}}

alınıyor,

MONI baby için;

POST -> https://api.karisimbi.events/api/nominee/vote
Accept: application/json
Payload: {"awardId":"61ec3aad787ff108528e02be","nomineeId":"61ee4c2554a126230cf212a1"}

gönderiliyor, forumda basit bir arama yaparsanız idhttp ile yukarıdaki adrese payload veri ile post çekebilirsiniz.

Öncelikle teşekkür ederim.
idhttp ssl hatası vereceğinden nethttpclient kullandım. Dönen cevap bu oldu. {"success":false,"message":"Not Found"} sanırım olmadı.

procedure TForm1.Button2Click(Sender: TObject);
var
NetHTTPClient: TNetHTTPClient;
Request: TStringList;
StreamData :TMemoryStream;
begin
try
  Request := TStringList.Create;
  StreamData := TMemoryStream.Create;
  try
    Request.Add('awardId='+'61ec3aad787ff108528e02be');
    Request.Add('nomineeId='+ '61ee4c2554a126230cf212a1');
    NetHTTPClient := TNetHTTPClient.Create(Nil);
    try
      NetHTTPClient.AllowCookies := True;
      NetHTTPClient.HandleRedirects := True;
      NetHTTPClient.Post('https://api.karisimbi.events/api/nominee/vote', Request);
      Memo1.Lines.Add(NetHTTPClient.Get('https://api.karisimbi.events/api/nominee/vote', StreamData).ContentAsString);
    finally
      NetHTTPClient.Free;
    end;
  finally
    Request.Free;
  end;
except
end;
 Application.ProcessMessages;
end;

var
 NetHTTPClient: TNetHTTPClient;
reqData, resContent:TStringStream;

begin
NetHTTPClient:=TNetHTTPClient.Create(Self);

NetHTTPClient.Accept:='application/json, text/plain, */*';
NetHTTPClient.UserAgent:='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.362';
NetHTTPClient.ContentType:='application/json; charset=utf-8';
NetHTTPClient.AcceptCharSet:='utf-8';
NetHTTPClient.ProtocolVersion:=THttpProtocolVersion.HTTP_2_0;
NetHTTPClient.AllowCookies:=True;
NetHTTPClient.HandleRedirects:=True;

resContent:=TStringStream.Create;
reqData:=TStringStream.Create('{"awardId":"61ec3aad787ff108528e02be", "nomineeId":"61ee4c2554a126230cf212a1"}', TEncoding.utf8);
NetHTTPClient.Post('https://api.karisimbi.events/api/nominee/vote', reqData, resContent);


memo1.Lines.Text:=resContent.DataString;


NetHTTPClient.Free;
resContent.Free;
reqData.Free;

1.png
Cevapla
#10
(31-01-2022, Saat: 16:37)vedat35 Adlı Kullanıcıdan Alıntı:
(31-01-2022, Saat: 13:33)Jakarta2 Adlı Kullanıcıdan Alıntı: Çok çok teşekkür ederim kardeşim...


Öncelikle teşekkür ederim.
idhttp ssl hatası vereceğinden nethttpclient kullandım. Dönen cevap bu oldu. {"success":false,"message":"Not Found"} sanırım olmadı.

procedure TForm1.Button2Click(Sender: TObject);
var
NetHTTPClient: TNetHTTPClient;
Request: TStringList;
StreamData :TMemoryStream;
begin
try
  Request := TStringList.Create;
  StreamData := TMemoryStream.Create;
  try
    Request.Add('awardId='+'61ec3aad787ff108528e02be');
    Request.Add('nomineeId='+ '61ee4c2554a126230cf212a1');
    NetHTTPClient := TNetHTTPClient.Create(Nil);
    try
      NetHTTPClient.AllowCookies := True;
      NetHTTPClient.HandleRedirects := True;
      NetHTTPClient.Post('https://api.karisimbi.events/api/nominee/vote', Request);
      Memo1.Lines.Add(NetHTTPClient.Get('https://api.karisimbi.events/api/nominee/vote', StreamData).ContentAsString);
    finally
      NetHTTPClient.Free;
    end;
  finally
    Request.Free;
  end;
except
end;
 Application.ProcessMessages;
end;

var
 NetHTTPClient: TNetHTTPClient;
reqData, resContent:TStringStream;

begin
NetHTTPClient:=TNetHTTPClient.Create(Self);

NetHTTPClient.Accept:='application/json, text/plain, */*';
NetHTTPClient.UserAgent:='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.362';
NetHTTPClient.ContentType:='application/json; charset=utf-8';
NetHTTPClient.AcceptCharSet:='utf-8';
NetHTTPClient.ProtocolVersion:=THttpProtocolVersion.HTTP_2_0;
NetHTTPClient.AllowCookies:=True;
NetHTTPClient.HandleRedirects:=True;

resContent:=TStringStream.Create;
reqData:=TStringStream.Create('{"awardId":"61ec3aad787ff108528e02be", "nomineeId":"61ee4c2554a126230cf212a1"}', TEncoding.utf8);
NetHTTPClient.Post('https://api.karisimbi.events/api/nominee/vote', reqData, resContent);


memo1.Lines.Text:=resContent.DataString;


NetHTTPClient.Free;
resContent.Free;
reqData.Free;

1.png

Teşekkür ederim çalışıyor. Bizim kod 3 saniyede 1 tane basıyor. Adam kime yazdırdıysa 2-3 dakikada 10bin oylattı. Server, internet hızı v.s. alakalı değil mi anlamadım ki? Nasıl bir anda 10bin oy artırabilir?
Gerçekten teşekkür ederim. En azından bir daha böyle bir iş geldiğinde yapabileceğimizi öğrenmiş olduk sizin sayenizde...
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  UYGULAMAYA MOUSLA TIKLATMA fatih3 1 597 14-04-2025, Saat: 15:13
Son Yorum: berk06
  Mouse Tıklatma apachi2006 7 3.480 08-02-2022, Saat: 11:57
Son Yorum: apachi2006
  Webbrowser üzerinde Açılan Sayfanın Popup Sayfasındaki Linkler COMMANDX 2 1.512 03-08-2021, Saat: 23:59
Son Yorum: COMMANDX
  kod ile oluşturulan butona olay ekleme arsl01 23 21.595 20-04-2021, Saat: 11:51
Son Yorum: tmrksmt
Question 'butona komut verme' yardım !! Mr.Developer 6 6.704 01-12-2017, Saat: 12:28
Son Yorum: Mr.Developer



Konuyu Okuyanlar: 1 Ziyaretçi