ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 08.06.2009, 02:42
cremator (c)
Постоянный
Регистрация: 20.06.2008
Сообщений: 323
Провел на форуме:
1240829

Репутация: 165
Отправить сообщение для cremator (c) с помощью ICQ
По умолчанию

Flenov, юзай библиотеки Chilkat Delphi ActiveX Components, очень просто всё реализуется и examples есть разные.)http://chilkatsoft.com
 

  #12  
Старый 09.06.2009, 01:05
Flenov
Участник форума
Регистрация: 22.11.2008
Сообщений: 142
Провел на форуме:
636446

Репутация: 32
По умолчанию

Цитата:
Сообщение от cremator (c)  
Flenov, юзай библиотеки Chilkat Delphi ActiveX Components, очень просто всё реализуется и examples есть разные.)http://chilkatsoft.com

Благодарю за ссылки.
Я скачал и потестил.
Но чего-то не сильно получилось.
Можешь поподробнее рассказать об этой библиотеке.
 

  #13  
Старый 09.06.2009, 15:01
cremator (c)
Постоянный
Регистрация: 20.06.2008
Сообщений: 323
Провел на форуме:
1240829

Репутация: 165
Отправить сообщение для cremator (c) с помощью ICQ
По умолчанию

Вот тут компоненты для HTTP http://www.chilkatsoft.com/download/HttpActiveX.msi

Вот экзампл, взятый с их сайта
Код:
uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATHTTPLib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
http: TChilkatHttp;
success: Integer;
html: String;

begin
http := TChilkatHttp.Create(Self);

//  Any string unlocks the component for the 1st 30-days.
success := http.UnlockComponent('Anything for 30-day trial');
if (success <> 1) then
  begin
    ShowMessage(http.LastErrorText);

  end;

//  Send the HTTP GET and return the content in a string.

html := http.QuickGetStr('https://www.paypal.com/');

Memo1.Lines.Add(html);
end;
 

  #14  
Старый 09.06.2009, 19:02
Flenov
Участник форума
Регистрация: 22.11.2008
Сообщений: 142
Провел на форуме:
636446

Репутация: 32
По умолчанию

Благодарю!
А эта библиотела только для Delphi 7 или можно к другим версиям?
 

  #15  
Старый 09.06.2009, 21:16
cremator (c)
Постоянный
Регистрация: 20.06.2008
Сообщений: 323
Провел на форуме:
1240829

Репутация: 165
Отправить сообщение для cremator (c) с помощью ICQ
По умолчанию

это ActiveX библа! Ты её выбираешь в Import ActiveX Control и delphi сам компилит библу и устанавливает компоненты из неё. -> Любая версия
 

  #16  
Старый 09.06.2009, 21:55
Flenov
Участник форума
Регистрация: 22.11.2008
Сообщений: 142
Провел на форуме:
636446

Репутация: 32
По умолчанию

Я чё-та тупонул
Это, а как бы тут метод пост реализовать?
Чё-то я не нашёл.
 

  #17  
Старый 09.06.2009, 23:29
cremator (c)
Постоянный
Регистрация: 20.06.2008
Сообщений: 323
Провел на форуме:
1240829

Репутация: 165
Отправить сообщение для cremator (c) с помощью ICQ
По умолчанию

Вот типа тож пример от туда, но тут с кукисами как-то запарно реализовано, если они конешн тебе нужны будут вообще..

Код:
uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATHTTPLib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
req: TChilkatHttpRequest;
http: TChilkatHttp;
success: Integer;
html: String;
domain: String;
port: Integer;
ssl: Integer;
resp: IChilkatHttpResponse;

begin
req := TChilkatHttpRequest.Create(Self);
http := TChilkatHttp.Create(Self);

//  Any string unlocks the component for the 1st 30-days.
success := http.UnlockComponent('Anything for 30-day trial');
if (success <> 1) then
  begin
    ShowMessage(http.LastErrorText);

  end;

//  Before doing the POST, do a simple GET for the purpose of obtaining a Cookie.
//  The Cookie contains a session-id and a session-id-time, and these values must
//  be current.

//  The CookieDir may be set to "memory" to keep an in-memory cache of cookies.
//  Alternatively, you may set it to a directory, such as "c:/temp/cookies".  If you do that,
//  you can visually browse the cookies which will appear as XML files in the CookieDir.
http.CookieDir := 'memory';

//  Tell the HTTP component to save any cookies received.  Also tell the component to
//  re-send cookies with subsequent GETs and POSTs.
http.SendCookies := 1;
http.SaveCookies := 1;

//  Do a GET to retrieve our Cookie...

html := http.QuickGetStr('https://secure.amazon.com/exec/panama/seller-admin/manual-reports/get-report-status');

//  Build an HTTP POST Request:
req.UsePost();
req.Path := '/exec/panama/seller-admin/manual-reports/get-report-status';

//  Setting your login/password causes Chilkat to automatically add the Authorization header:
http.Login := 'YourLoginEmailAddress';
http.Password := 'YourPassword';

//  NOTE: Do not explicitly add the Cookie header.  It is added automatically by Chilkat HTTP.
req.AddHeader('Content-Type','text/xml');

req.AddHeader('NumberofReports','2');
req.AddHeader('ReportName','OpenListingsLite');

//  Send the HTTP POST and get the response.  Note: This is a blocking call.
//  The method does not return until the full HTTP response is received.

domain := 'secure.amazon.com';
port := 443;
ssl := 1;

resp := http.SynchronousRequest(domain,port,ssl,req.DefaultInterface);
if (resp = nil ) then
  begin
    Memo1.Lines.Add(http.LastErrorText);
  end
else
  begin
    //  Display the XML returned.
    Memo1.Lines.Add(resp.BodyStr);
  end;
end;
 

  #18  
Старый 09.06.2009, 23:56
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

Извеняюсь за мат, но вы ебанулись. ну нахера копаться в SSL и компонентах если всё уже давно реализовано в стандартной либе wininet заголовочные файлы которой есть почти в любом языке. при то/V\, что это WinApi.
Если юзать сокеты, то полюбому придется таскать SSL либы которые весять ппц сколько.

Последний раз редактировалось slesh; 10.06.2009 в 00:15..
 

  #19  
Старый 10.06.2009, 00:09
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

для тех кто в танке вот пример простой на дельфе/ Даже поддержка прокси есть.

Кусок кривоватый, писался давно и наспех. Но работает.
Код:
uses wininet;

function SendPOST(data,proxy_ip:string;proxy_port:word):string;
var
 h_open:HINTERNET;
 h_connect:HINTERNET;
 h_request:HINTERNET;
 s,outs:string;
 l:integer;
 mas:array of char;
begin
 result:='- InternetOpen';
 if proxy_ip<>'' then
 h_open:=InternetOpen('Mozilla/5.0 (compatible; MSIE 6.0; SV1; MRA 4.8 (build 01705))',INTERNET_OPEN_TYPE_PROXY,Pansichar(proxy_ip+':'+inttostr(proxy_port)),nil,0)
else
h_open:=InternetOpen('Mozilla/5.0 (compatible; MSIE 6.0; SV1; MRA 4.8 (build 01705))',INTERNET_OPEN_TYPE_DIRECT,nil,nil,0);
if h_open=nil then exit;
//INTERNET_OPEN_TYPE_PRECONFIG какой удобно тот и юзайть
//INTERNET_OPEN_TYPE_DIRECT
result:='- InternetConnect';
h_connect:=InternetConnect(h_open,'SITE.RU',INTERNET_DEFAULT_HTTPS_PORT,nil,nil,INTERNET_SERVICE_HTTP,0,0);
if h_connect=nil then exit;
result:='- HttpOpenRequests';
h_request:=HttpOpenRequest(h_connect,'POST','/имя_скрипта','HTTP/1.0','SITE.RU',nil,INTERNET_FLAG_SECURE+INTERNET_FLAG_KEEP_CONNECTION,0);
if h_request=nil then exit;
lstrcpy(Pansichar(mas),Pansichar(data));
HttpSendRequest(h_request,'Content-Type: application/x-www-form-urlencoded', 47,mas,length(s));

setlength(mas,1024);
outs:='';
repeat
InternetReadFile(h_request,mas,1024,cardinal(l));
s:=copy(Pchar(mas),1,l);
outs:=outs+s;
until l<=0;
 

  #20  
Старый 10.06.2009, 02:49
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

Уже писал и еще напишу что можно обычные сокеты + openssl
Цитата:
Извеняюсь за мат, но вы ебанулись. ну нахера копаться в SSL и компонентах если всё уже давно реализовано в стандартной либе wininet заголовочные файлы которой есть почти в любом языке. при то/V\, что это WinApi.
Цитата:
Поддержую, можно и wininet, что б не заморачиватся, хотя сам предпочитаю через простые сокеты реализовывать.
Если юзать сокеты, то полюбому придется таскать SSL либы которые весять ппц сколько.
Вообще не очень то и много весит, под никс при статической сборке где то + 500К.
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ