TidHTTP ile dönen içerikteki resimleri almak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
TidHTTP ile dönen içerikteki resimleri almak
Merhabalar ,
TidHTTP ile captcha bilgiside isteyen bir form sayfasını get metodu ile çağırıyorum, captcha resmini TidHTTP ile başlattığım session bilgisini kaybetmeden (yani ilgili captcha resminin linkini alıp TWebBrowser gibi url görüntüleyicden yardım almadan) ilgili resimi kullanıcıya göstermek istiyorum, TidHTTP ile get ettiğim sayfanın üstünde yer alan resimlerde geliyormu Stream olarak felan, yani amacım aynı session bilgisini kaybetmemek.
TidHTTP ile captcha bilgiside isteyen bir form sayfasını get metodu ile çağırıyorum, captcha resmini TidHTTP ile başlattığım session bilgisini kaybetmeden (yani ilgili captcha resminin linkini alıp TWebBrowser gibi url görüntüleyicden yardım almadan) ilgili resimi kullanıcıya göstermek istiyorum, TidHTTP ile get ettiğim sayfanın üstünde yer alan resimlerde geliyormu Stream olarak felan, yani amacım aynı session bilgisini kaybetmemek.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Re: TidHTTP ile dönen içerikteki resimleri almak
IdHttp resimleri değil, sitenin kaynak kodunu getiriyor.
Gelecek resmin adını biliyorsan, o resmi idhttp ile direk stream a kaydedebilirsin.
Resmin adını kaynak koddan alabiliyorsan, önce kaynak kodu alıp, daha sonra resmi indirebilirsin.
Gelecek resmin adını biliyorsan, o resmi idhttp ile direk stream a kaydedebilirsin.
Resmin adını kaynak koddan alabiliyorsan, önce kaynak kodu alıp, daha sonra resmi indirebilirsin.
Kod: Tümünü seç
memStream:=TmemoryStream.create;
try
idHttp1.Get('http://www.sitem.com/resim.jpg', memStream);
memStream.Position:=0;
Jpg1.LoadFromStream(memstream);
finally
memstream.Free;
end;
Re: TidHTTP ile dönen içerikteki resimleri almak
merhabalar ,
bu şekilde denediğimde "Jpeg Error #53" hatası alıyorum ilgili sayfa ekrana her çağrıldığında farklı bir captcha resimi üretiliyor bunu stream olarak almak istiyorum kod mantıklı ama çalıştıramadım.
Kod: Tümünü seç
response := TMemoryStream.Create();
intJpg := TJPEGImage.Create;
idHttp1.Get('http://xxxxxxx/Captcha.jpg?p=1&s=1267878837513', response);
response.Position := 0;
intJpg.LoadFromStream(response);
intJpg.SaveToFile('captcha.jpg');
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
Re: TidHTTP ile dönen içerikteki resimleri almak
LoadFromStream yerine Assign kullanarak çözüme gidilebilir. Ya da browser ile gösterilebilir..
Re: TidHTTP ile dönen içerikteki resimleri almak
Parametre geçmek gerekebilir
Aşagıdaki kodu deneyebilir misin?
Site adresi olmadıgı için ben kontrol edemedim.
Aşagıdaki kodu deneyebilir misin?
Site adresi olmadıgı için ben kontrol edemedim.
Kod: Tümünü seç
s1: TStringlist;
s1:=TStringlist.Create;
s1.Add('p=1');
s1.Add('s=123...');
idHttp1.Post('http://siteadi/captcha.jpg',s1,response);
Re: TidHTTP ile dönen içerikteki resimleri almak
Test ettim parametre farketmiyor, her türlü çalışıyor.
Bİr ihtimal gelen resim jpg değil, png olabilir.
Bİr ihtimal gelen resim jpg değil, png olabilir.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
s1: Tstringlist;
res1 : TmemoryStream;
begin
s1:=Tstringlist.Create;
res1:=TmemoryStream.Create;
s1.Add('m=IZMIR'); s1.Add('basla=1'); s1.Add('bitir=5'); s1.Add('rC=111'); s1.Add('rZ=fff');
try
idhttp1.Get('http://www.dmi.gov.tr/sunum/tahmin-show-1.aspx?m=ANKARA&basla=1&bitir=5&rC=111&rZ=fff',res1);
// idhttp1.post('http://www.dmi.gov.tr/sunum/tahmin-show-1.aspx',s1,res1);
res1.SaveToFile('e:\test1.png');
finally
res1.Free;
s1.Free;
end;
end;
Re: TidHTTP ile dönen içerikteki resimleri almak
Merhabalar ,
Cevaplarınız çin teşekkürler , almk istediğim resim linki
bu link her çağrıldığında yeni bir captcha üretiliyor ve ilgili session ile ilişkilendirliyor, dolayısıyla TWebBrowser ile gösterdiğimde bütün işleri TWebBrowser ile devam ettirmem gerekiyor, benim için en hayırlısı idHTTP ile bu adrese gidip, sonucu stream olarak kaydetmek ve kullanıcıya göstermek, sonrasında idHTTP nin açtığı sessiondan işlemlere devam etmek.
Cevaplarınız çin teşekkürler , almk istediğim resim linki
Kod: Tümünü seç
http://www.tramer.org.tr/tramer/Captcha.jpg?p=1&s=1267708761456
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Re: TidHTTP ile dönen içerikteki resimleri almak
Merhabalar ,
@emin_as , sizin son örneğinizdeki gibi herhangi bir TJpeg kullanmadan doğrudan stream ı kaydettiğimde sorun olmadı alabildim.
İlginiz ve yardımlarınız için tekrar teşekkür ederim.
İyi çalışmalar.
@emin_as , sizin son örneğinizdeki gibi herhangi bir TJpeg kullanmadan doğrudan stream ı kaydettiğimde sorun olmadı alabildim.
İlginiz ve yardımlarınız için tekrar teşekkür ederim.
İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Re: TidHTTP ile dönen içerikteki resimleri almak
Peki yenilenen resim gelmedimi doğru resim geldiğinden eminmisiniz? Ben gelen veriyi okuduktan sonra gönderince hatalı gönderilme diye mesaj alıyorum
- kenanbayrak
- Üye
- Mesajlar: 2
- Kayıt: 10 Ara 2004 02:10
Re: TidHTTP ile dönen içerikteki resimleri almak
Merhaba
IdHTTP ile dönen içerikte html kodundaki ismi bilinen bir text box un içeriği nasıl alınır.
Örnek bir şirkette çelışan işçilerden aynı ad, aynı soyadı olan personelin sicil numaralarını almak istiyorum Delphi 7 ile edit boxlara yazdığım ad,soyad a göre web sayfasında sicil no sorgulatıyorum,sonuç webde görülüyor ancak sıkan sonucu kendi exe dosyamdaki edit boxa alamıyorum
Yardımcı olursanız memnun olurum
Hoşça kalın
IdHTTP ile dönen içerikte html kodundaki ismi bilinen bir text box un içeriği nasıl alınır.
Örnek bir şirkette çelışan işçilerden aynı ad, aynı soyadı olan personelin sicil numaralarını almak istiyorum Delphi 7 ile edit boxlara yazdığım ad,soyad a göre web sayfasında sicil no sorgulatıyorum,sonuç webde görülüyor ancak sıkan sonucu kendi exe dosyamdaki edit boxa alamıyorum
Yardımcı olursanız memnun olurum
Hoşça kalın