Delphi Can
HTTP/1.0 302 moved temporarily. hatası - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: HTTP/1.0 302 moved temporarily. hatası (/showthread.php?tid=4160)



HTTP/1.0 302 moved temporarily. hatası - erdogan - 07-11-2019

Arkadaşlar Döviz kurları için aşağıdaki kodu kullanıyordum fakat ne oldu anlamadım aşağıdaki hatayı vermeye başladı 

HTTP/1.0 302 Moved temporarily.  

neyin yeri değiştiki ? 

link çalışıyor
https://www.tcmb.gov.tr/kurlar/today.xml 



Kod:
/// döviz kurları başlangıç
procedure TANA_SAYFA_PENCERE.KURLAR;
var
 ADRES, DEGER, ARA, SATIS: string;
 YER: integer;
begin
 ADRES := IdHTTP1.Get('https://www.tcmb.gov.tr/kurlar/today.xml');
 DEGER := ADRES;

 ARA := 'ABD DOLARI'; /// SERBEST PİYASA ALIŞ
 YER := POS(ARA, DEGER);
 YER := YER + length(ARA);
 DEGER := COPY(DEGER, YER, LENGTH(DEGER) - YER);
 DEGER := TRIM(DEGER);
 SATIS := COPY(DEGER, 1, LENGTH(DEGER) - YER);
 ARA := '<ForexBuying>'; //  SERBEST PİYASA ALIŞ
 YER := pos(ARA, DEGER);
 YER := YER + LENGTH(ARA);
 DEGER := COPY(DEGER, YER, LENGTH(DEGER) - YER);
 DEGER := TRIM(DEGER);
 SATIS := COPY(DEGER, 1, LENGTH(DEGER) - YER);
 edtUSD_ALIS.Text := COPY(SATIS, 1, 6); // sonuc


 ARA := 'ABD DOLARI'; /// SERBEST PİYASA SATIŞ
 YER := POS(ARA, DEGER);
 YER := YER + length(ARA);
 DEGER := COPY(DEGER, YER, LENGTH(DEGER) - YER);
 DEGER := TRIM(DEGER);
 SATIS := COPY(DEGER, 1, LENGTH(DEGER) - YER);
 ARA := '<ForexSelling>'; //  SERBEST PİYASA SATIŞ
 YER := pos(ARA, DEGER);
 YER := YER + LENGTH(ARA);
 DEGER := COPY(DEGER, YER, LENGTH(DEGER) - YER);
 DEGER := TRIM(DEGER);
 SATIS := COPY(DEGER, 1, LENGTH(DEGER) - YER);
 edtUSD_SATIS.Text := COPY(SATIS, 1, 6); // sonuc

 ARA := 'EURO';
 YER := POS(ARA, DEGER);
 YER := YER + LENGTH(ARA);
 DEGER := COPY(DEGER, YER, LENGTH(DEGER) - YER);
 DEGER := TRIM(DEGER);
 SATIS := COPY(DEGER, 1, LENGTH(DEGER) - YER);
 ARA := '<ForexBuying>';    //  Banka Alış Fiyatıdır.
 YER := POS(ARA, DEGER);
 YER := YER + LENGTH(ARA);
 DEGER := COPY(DEGER, YER, LENGTH(DEGER) - YER);
 DEGER := TRIM(DEGER);
 SATIS := COPY(DEGER, 1, LENGTH(DEGER) - YER);
 edtEURO_ALIS.Text := COPY(SATIS, 1, 6); // sonuc

 ARA := 'EURO';
 YER := POS(ARA, DEGER);
 YER := YER + LENGTH(ARA);
 DEGER := COPY(DEGER, YER, LENGTH(DEGER) - YER);
 DEGER := TRIM(DEGER);
 SATIS := COPY(DEGER, 1, LENGTH(DEGER) - YER);
 ARA := '<ForexSelling>';    //  Banka Alış Fiyatıdır.
 YER := POS(ARA, DEGER);
 YER := YER + LENGTH(ARA);
 DEGER := COPY(DEGER, YER, LENGTH(DEGER) - YER);
 DEGER := TRIM(DEGER);
 SATIS := COPY(DEGER, 1, LENGTH(DEGER) - YER);
 edtEURO_SATIS.Text := COPY(SATIS, 1, 6); // sonuc
end;
/////////////bitiş


Yardımlarınız için teşekkür ederim.

delphi7 ve indy10 kullanıyorum.


HTTP/1.0 302 moved temporarily. hatası - uparlayan - 07-11-2019

TCMB'den kurları için HTTPS kullanmanız gerekiyor.

Bunun için TIdSSLIOHandlerSocketOpenSSL nesnesini üretip TIdHTTP.IOHandler'e atamanız ve PassThrought özelliğini False ayarlamanız gerekiyor.


Cvp: HTTP/1.0 302 moved temporarily. hatası - erdogan - 07-11-2019

(07-11-2019, Saat: 16:35)uparlayan Adlı Kullanıcıdan Alıntı: TCMB'den kurları için HTTPS kullanmanız gerekiyor.

Bunun için  TIdSSLIOHandlerSocketOpenSSL nesnesini üretip TIdHTTP.IOHandler'e atamanız ve PassThrought özelliğini False ayarlamanız gerekiyor.

hocam cevabınız için teşekkür ederim dediğinizi yaptım dizine libeay32.dll ve ssleay32.dll dosyasınıda ekledim bu defa da Error connedting with SSL. hatası aldım 

PassThrought bu kısmı bulamadım ?


HTTP/1.0 302 moved temporarily. hatası - uparlayan - 07-11-2019

TIdSSLIOHandlerSocketOpenSSL.PassThrought


Cvp: HTTP/1.0 302 moved temporarily. hatası - erdogan - 07-11-2019

(07-11-2019, Saat: 17:04)uparlayan Adlı Kullanıcıdan Alıntı: TIdSSLIOHandlerSocketOpenSSL.PassThrought

hocam bende yok o özellik,
EbKwMp.png


HTTP/1.0 302 moved temporarily. hatası - uparlayan - 07-11-2019

Verdiğim örnek XE7 ve XE10'da test edildi. Muhtemelen Indy'nin eski bir sürümünü kullanıyor olmalısınız.

Aşağıdaki konuyu inceleyin;

https://stackoverflow.com/questions/40386948/delphi-7-convert-http-gets-to-https-gets