Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 16:31 12.06.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема Indy, IdHTTP & HTTPS  
Авторchovek (Нерегистриран)
Публикувано16.10.06 12:24



Ползвам IdHTTP1.Get() за получаване на данни през http, но в един
случай ми се налага да ползвам HTTPS(secure)
https://site.com и тогава започва да иска
Intercept. IdConnectionInterceptOpenSSL изисква .dll , което е голям проблем в моя случай. Но дори когато го добавя дава грешка при отварянето:
Socket Error # 11004

Get при нормалните сайтове си работи.



Тема Re: Indy, IdHTTP & HTTPSнови [re: chovek]  
Авторchovek (Нерегистриран)
Публикувано23.10.06 08:34



за сега нещата не тръгват. Никой ли няма опит с този проблем?



Тема Re: Indy, IdHTTP & HTTPSнови [re: chovek]  
Авторmole. (Нерегистриран)
Публикувано23.10.06 17:36



Това е Get който аз ползвам, нямам претенции да е написано оптимално и т.н :-)
Дано ти свърши работа. При мен работи.

=================================
function GetURL(url:string; myIdHTTP:TIdHTTP = nil):string;
var haveToClose : boolean;
IdSSLIOHandlerSocket: TIdSSLIOHandlerSocket;
oldHandler : TIdIOHandler;
crypted : boolean;
begin
haveToClose := not Assigned(myIdHTTP);
IdSSLIOHandlerSocket := nil;
crypted := false;
result := 'error';
if (haveToClose) then myIdHTTP:=TIdHTTP.Create(MainForm);
try
//setupIdHTTP(myIdHTTP); //Dopalnitelni nastroiki Proxy etc.
try
if pos('https:',url)>0 then
begin
crypted := true;
IdSSLIOHandlerSocket:=TIdSSLIOHandlerSocket.Create(MainForm);
IdSSLIOHandlerSocket.Name := 'IdSSLIOHandlerSocket';
IdSSLIOHandlerSocket.SSLOptions.Method := sslvSSLv2;
IdSSLIOHandlerSocket.SSLOptions.Mode := sslmUnassigned;
IdSSLIOHandlerSocket.SSLOptions.VerifyMode := [];
IdSSLIOHandlerSocket.SSLOptions.VerifyDepth := 0;
oldHandler:=myIdHTTP.IOHandler;
myIdHTTP.IOHandler := IdSSLIOHandlerSocket;
myIdHTTP.Port := 443;
myIdHTTP.HTTPOptions:=[hoForceEncodeParams];
end;
result:=myIdHTTP.Get(url);
except
end;
finally
if (crypted) then
begin
myIdHTTP.IOHandler:=oldHandler;
IdSSLIOHandlerSocket.free;
end;
if (haveToClose) then myIdHTTP.Free;
end;
end;

=====================
PPS: dir-а е малко странен днес, май изисква logout за да пуснеш съобщение...



Тема Re: Indy, IdHTTP & HTTPSнови [re: mole.]  
Авторchovek (Нерегистриран)
Публикувано24.10.06 13:43



Мерси много. Изглежда работещо, но не успявам да го подкарам.
С коя версия на Indy / Delphi работи тази процедура?
Ползва ли някакви dll или сертификационни файлове?

Аз опитах да го подкарам на Delphi 6 и Indy 8. Но нямаше съвместимост с компонентите. При опит да мигрирам към Indy10 вече не мога да компилирам
със събщение: [Fatal Error] Main.pas(9): Unit IdBaseComponent was compiled with a different version of System.RTLVersion

Същото го дава и за IdComponent, IdTCPConnection, IdTCPClient, IdHTTP т.н.



Тема Re: Indy, IdHTTP & HTTPSнови [re: chovek]  
Авторmole. (Нерегистриран)
Публикувано24.10.06 14:38



Извинявай, трябваше да посоча още в първия постинг:
gsIdVersion = '9.0.18';
Delphi 7
Изисква DLL мисля че няма как да не изисква... ssleay32.dll и libeay32.dll

С Indy10 мои спомени спомени имах проблеми, ама питай ме сега какви... не се сещтам...



Тема Re: Indy, IdHTTP & HTTPSнови [re: mole.]  
Авторchovek (Нерегистриран)
Публикувано25.10.06 13:53



мерси моле, нещата имат напредък. всичко както ми го даде работи. но при get заявка с предаване на параметър https://site.com?param=1234
не се кънектва и дава:"Socket Error # 11004

може би предаването на параметър прави невалиден адреса. Имаш ли идея?



Тема Re: Indy, IdHTTP & HTTPSнови [re: chovek]  
Авторmole. (Нерегистриран)
Публикувано25.10.06 16:43



Пробва ли вместо https://site.com?param=1234
URL да бъде https://site.com/?param=1234



Тема 10xнови [re: mole.]  
Авторchovek (Нерегистриран)
Публикувано25.10.06 17:39



човек, обичам те!
не можеш да си представиш колко ми помогна.
3 дена го боря, а то било една чертичка.

10x отново



Тема Re: Indy, IdHTTP & HTTPSнови [re: mole.]  
Авторindy1O (Нерегистриран)
Публикувано16.03.08 13:05



Здравейте,
попаднах на тази готина функцийка, даже при мен съм я кръстил GetURLMole.

function GetURL(url:string; myIdHTTP:TIdHTTP = nil):string;
var haveToClose : boolean;
IdSSLIOHandlerSocket: TIdSSLIOHandlerSocket;
oldHandler : TIdIOHandler;
crypted : boolean;
begin
haveToClose := not Assigned(myIdHTTP);
IdSSLIOHandlerSocket := nil;
crypted := false;
result := 'error';
if (haveToClose) then myIdHTTP:=TIdHTTP.Create(MainForm);
try
//setupIdHTTP(myIdHTTP); //Dopalnitelni nastroiki Proxy etc.
try
if pos('https:',url)>0 then
begin
crypted := true;
IdSSLIOHandlerSocket:=TIdSSLIOHandlerSocket.Create(MainForm);
IdSSLIOHandlerSocket.Name := 'IdSSLIOHandlerSocket';
IdSSLIOHandlerSocket.SSLOptions.Method := sslvSSLv2;
IdSSLIOHandlerSocket.SSLOptions.Mode := sslmUnassigned;
IdSSLIOHandlerSocket.SSLOptions.VerifyMode := [];
IdSSLIOHandlerSocket.SSLOptions.VerifyDepth := 0;
oldHandler:=myIdHTTP.IOHandler;
myIdHTTP.IOHandler := IdSSLIOHandlerSocket;
myIdHTTP.Port := 443;
myIdHTTP.HTTPOptions:=[hoForceEncodeParams];
end;
result:=myIdHTTP.Get(url);
except
end;
finally
if (crypted) then
begin
myIdHTTP.IOHandler:=oldHandler;
IdSSLIOHandlerSocket.free;
end;
if (haveToClose) then myIdHTTP.Free;
end;
end;

Проблема е следния: използвам indy10 и ми дава грешка: Read timeout
Целта ми е да направя заявка със SSL.
Ако не използвам SSL компонент, всичко си е наред.

В indy10 няма такова нещо: myIdHTTP.Port - незнам дали проблема е от това или от нещо друго, но ще съм ви много благодарен да помогнете.




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.