ihdttp ascii karakter sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
dreampower
Üye
Mesajlar: 23
Kayıt: 06 Tem 2009 04:27

ihdttp ascii karakter sorunu

Mesaj gönderen dreampower »

S.a
İdhtpp ile bir websitesinin kaynak kodlarını çektiğimde gelen site linklerinde http://site.com/%20salih şeklinde oluyor gelen bu site linklerinin tekrar get ile kaynağını çekmeye çalıştıgımda %20 yüzünnden kaynak kodlarını çekemiyorum sizce sorunu nasıl geçebilirim ?
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: ihdttp ascii karakter sorunu

Mesaj gönderen SimaWB »

uses kımsına IdURI ekleyin:

Kod: Tümünü seç

TIdURI.URLEncode(link);
şeklinde deneyin.
There's no place like 127.0.0.1
dreampower
Üye
Mesajlar: 23
Kayıt: 06 Tem 2009 04:27

Re: ihdttp ascii karakter sorunu

Mesaj gönderen dreampower »

Malesef sorunu çözemedi bende sizin kullandığınız kalıbı kullanıyordum yine ıöğşİ gibi karakterlerin ascii karşılıkları çıkmakta farklı bir çözüm sunabilir misiniz
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: ihdttp ascii karakter sorunu

Mesaj gönderen SimaWB »

http://site.com/%20salih 'den http://site.com/ salih elde etmek isterseniz o zaman TIdURI.URLDecode kullanmalısınız
There's no place like 127.0.0.1
dreampower
Üye
Mesajlar: 23
Kayıt: 06 Tem 2009 04:27

Re: ihdttp ascii karakter sorunu

Mesaj gönderen dreampower »

kullandım fakat sonuc yine aynı dilerseniz uygulamayı ö.m olarak atabilirim
notname
Üye
Mesajlar: 149
Kayıt: 11 Şub 2005 02:15

Re: ihdttp ascii karakter sorunu

Mesaj gönderen notname »

uses satırına httpapp ekleyip, showmessage(httpdecode(link)) olarak kullanabilirsin.
dreampower
Üye
Mesajlar: 23
Kayıt: 06 Tem 2009 04:27

Re: ihdttp ascii karakter sorunu

Mesaj gönderen dreampower »

Malesef 2 yöntemdede sonuç alamadım delphi7nin unicode desteği olmaması çok acı
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: ihdttp ascii karakter sorunu

Mesaj gönderen mrmarman »

Merhaba.
Konunun Delphi 7 ile ilgili olup olmadığı tartışılır... Çünkü fonksiyonu inceleyince göreceksiniz ki, aslında basit string operasyonları yapıyor.

IdURI UNIT'inin içindeki fonksiyonu aynen buraya yazıyorum. ismini çakışmasın diyerek dt_ prefix ile tanımladım....

Çözüm üretemediği örnek bir adres satırı verirseniz bu fonksiyondan yürüyerek dilediğiniz şekle dönüştürebiliriz.

Kod: Tümünü seç

function dt_URLDecode(ASrc: string): string;
var
  i: integer;
  ESC: string[2];
  CharCode: integer;
begin
  Result := '';    {Do not Localize}
  // S.G. 27/11/2002: Spaces is NOT to be encoded as "+".
  // S.G. 27/11/2002: "+" is a field separator in query parameter, space is...
  // S.G. 27/11/2002: well, a space
  // ASrc := StringReplace(ASrc, '+', ' ', [rfReplaceAll]);  {do not localize}
  i := 1;
  while i <= Length(ASrc) do begin
    if ASrc[i] <> '%' then begin  {do not localize}
      Result := Result + ASrc[i]
    end else begin
      Inc(i); // skip the % char
      ESC := Copy(ASrc, i, 2); // Copy the escape code
      Inc(i, 1); // Then skip it.
      try
        CharCode := StrToInt('$' + ESC);  {do not localize}
        Result := Result + Char(CharCode);
      except end;
    end;
    Inc(i);
  end;
end;
Kullanımı :

Kod: Tümünü seç

Var
  url, yeniurl : string;
begin
  url := ' http://site.com/%20salih';
  yeniurl := dt_URLDecode( url );
  showmessage( yeniurl );
end;
Resim
Resim ....Resim
Cevapla