indy HTTP Client componenti

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Cevapla
Kullanıcı avatarı
kelaynak2
Üye
Mesajlar: 135
Kayıt: 30 Haz 2003 02:18

indy HTTP Client componenti

Mesaj gönderen kelaynak2 »

İndy le gelen http client componenti ile belirtilen bir internet adresine query gönderip bu querye göre oluşan web tablosundaki html kodları parse ederek veritabanına ekliyorum veya internetteki forma bilgi gönderebiliyorum.Yalnız paroxi arkasında olunca veri alamıyor ve gönderemiyorum.Paroxi port nosunu, kullanıcı adını ve şifresini yazdığım halde.
Bunun sebebi nedir anlayamdım.Delphiturk ün kod bankası da aynı şekilde paroxi arkasında çalışmıyor.
Mikrosoftun eski msn sürümü yine paroxi arkasında çalışmazken yeni sürümünü yüklediğimde (7.0) bağlantı yapabiliyor ve çalışıyor.. Aceba yeni bir teknoloji mi gelişti de haberimiz yok.
Belki konuyla ilgilenen arkadaşların vardır diye yazdım saygılar.
Kullanıcı avatarı
otherside
Üye
Mesajlar: 65
Kayıt: 11 Mar 2005 02:48
Konum: istanbul

Mesaj gönderen otherside »

http client delphi 7 kulllanıyorsan proxy arkasında calısıyor proxy porta internet cıkış portunu yazarsan sorun olcagını sanmıyorum baska bi sorun olabılır
Kullanıcı avatarı
kelaynak2
Üye
Mesajlar: 135
Kayıt: 30 Haz 2003 02:18

hata kodu

Mesaj gönderen kelaynak2 »

@otherside

proxy portunu, server ismini kullanıcı adını vs. yazdığım zaman
HTTP /1.0 407 proxy Authentication Required hata mesajını veriyor.
proxy paramda basic Authentication u True ve Request de yine Basic Authenticationu true yaptığım halde.
sorun ne olabilir?
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Büyük ihtimalle Microsoft proxy kullanıyorsunuz ve proxy'nin basic authentication'ı kapalı ve sadece NTLM authentication destekliyor.

Indy sadece basic authentication destekler. NTLM için bir ara uygulama kullanarak bağlantı kurabilirsin.

http://ntlmaps.sourceforge.net/

adresindeki Python uygulaması bilgisayarın üzerinde sanal bir proxy oluşturacaktır. Ayar dosyasını düzenlemelisin ve çalıştırmalısın.

Programında ise proxy olarak localhost port olarak bu yazılımın kullandığı portu vereceksin. Yani proxy'in bu program olacak.

Bu program şunu yapıyor, senin yazılım NTLM desteklemediği için NTLM ile kendisi proxy sunucuna bağlanıyor ve bilgiyi sana getiriyor.
Kullanıcı avatarı
kelaynak2
Üye
Mesajlar: 135
Kayıt: 30 Haz 2003 02:18

Mesaj gönderen kelaynak2 »

@coderlord Merhaba

Python uygulamasını kurdum ve belirttiğiniz ayarları yaptım.Yine bir sonuç alamadım.
http://www.indyproject.org/KB/ adresinde bazı açıklamalar var. Burayı bir inceleyeyim diyorum
Ayrıca aşağıdaki sebebi de yazmışlar.Gerçi benim yazdığım program kötüniyetli bir amaç için değil.
This happening because some administrators are now filtering HTTP requests from programs that send the HTTP User-Agent header with the value "Mozilla/3.0 (compatible; Indy Library)". This is the default value provided by TIdHTTP. Unfortunately, some people used TIdHTTP in their
malware (denial of service programs, E-Mail address web-harvesters, password cracking programs. and ill-behaved web-robots). To counter this, some administrators block such programs from accessing their website using the HTTP User-Agent header value meaning that not only will they block those malware programs but other Indy based applications which send the default value.

We can not change this default value because we provided it for a historical reason. At one time, Netscape Navigator was extremely popular and had some high-end features such as Java, Java Script, and frames as a well as a few proprietary HTML tags. Some webmasters started filtering HTTP requests from non-Netscape web-browsers because they couldn't work on their websites. To bypass this restriction, Microsoft Internet Explorer would send "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)" and other programs started sending similar strings. When doing Indy 8.0, we were well aware of this and created a default user agent value of "Mozilla/3.0 (compatible; Indy Library)".

You need to change the TIdHTTP.Request.UserAgent property from the default value to your own value. When doing this, the string should start with the text "Mozilla/3.0 (compatible; " followed by the name of your program, followed by a ")".
Kullanıcı avatarı
kelaynak2
Üye
Mesajlar: 135
Kayıt: 30 Haz 2003 02:18

Mesaj gönderen kelaynak2 »

@Coderland merhaba
Belirttiğiniz program artık çalışıyor.İndy ile Proxye ulaşabiliyorum. Protocolu http/1.1 yerine 1.0 yapınca sorun kalmadı.Ayrıca bilgisayarda mutlaka IISnin çalışması gerekiyor.Aksi halde internete ulaşamıyorum.
Teşekkür ederim. :lol:
Cevapla