C# Mini Seriler #2 [Selenium User Agent, Proxy]

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Banlı Üye
Katılım
7 Nis 2020
Mesajlar
116
Çözümler
3
Tepki puanı
18
Yaş
30
6 HİZMET YILI
>>> Selenium İlk Konu <<<
İlk konuyu okuduysanız aşağıdaki şekilde IWebDriver nesnesi oluşturmayı öğrenmiştik.

C#:
IWebDriver driver = new ChromeDriver();

Bildiğiniz üzere ChromeDriver sınıfı birden fazla yapıcı metot (Constructor) içeriyor yani parametreler alan yapıcı metotları da mevcut

Örneğin
Kod:
IWebDriver driver = new ChromeDriver(ChromeOptions opt1);

Biz bu ChromeOptions sınıfını kullanarak öncelikle UserAgent eklemeyi deneyeceğiz ama öncelikle
bilmeyen arkadaşlar için UserAgent nedir kısaca bir açıklayalım.
İnternet dediğimiz şey bir sunucu ve bir istemci arasındaki bağdır. Biz internette gezerken bazı kimliklere ihtiyaç duyarız mesela IP adresi gibi.
Tıpkı bilgisayarınızın olduğu gibi tarayıcınız da bir kimliğe ihtiyaç duyar ve bu yüzden User Agent denilen metinleri kullanır. İşte bu metinler sizin hangi tarayıcının hangi versiyonunu kullandığınızı ve işletim sisteminizin ne olduğunu sunucuyla paylaşır. Bazı "güvenli" internet siteleri User Agent verisi olmayan kullanıcıları (tarayıcıları) bot olarak görüp siteye girişini engeller. Geliştirici arkadaşların Captcha yönteminden sonra genelde kullandığı yöntem budur.

Konumuza dönecek olursak öncelikle bir ChromeOptions nesnesi oluşturmamız lazım ve buna User Agent verisini kendimiz vermemiz lazım.

C#:
private void Form1_Load(object sender, EventArgs e)
{
     ChromeOptions myOptions = new ChromeOptions();
     myOptions.AddArgument("--user-agent=Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25");
     IWebDriver driver = new ChromeDriver(myOptions);
}
Dipnot: Bu tanımlamaları harici bir fonksiyonun içinde yapmanız en sağlıklısı.
Dipnot2: UserAgent verinizin değişip değişmediğini >>
Bağlantıları görmek için lütfen Giriş Yap
<< kontrol edebilirsiniz.

Gireceğimiz siteyi bu şekilde "Ben iOS6 kullanan bir iPad'im ve şuan Safari kullanıyorum." diyerek kandırmış olduk.

Gelelim proxy kullanımına proxy için bir nesne oluşturmamız ve bu oluşturduğumuz nesnenin HttpProxy değişkenini ayarlayıp bunu myOptions değişkenimize göndermemiz lazım.
Yani kısacası yeni kodumuz şu şekilde olacaktır.
C#:
ChromeOptions myOptions = new ChromeOptions();
//---------------------------//
var myProxy = new Proxy();
myProxy.HttpProxy = "localhost:80";
myOptions.Proxy = myProxy;
//---------------------------//
myOptions.AddArgument("--user-agent=Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25");
IWebDriver driver = new ChromeDriver(myOptions);


Bu konumuz bu kadar, herkese iyi forumlar.
 
Web Yazılımı Ve Ağ Güvenliği
Seçkin Üye
Katılım
26 May 2016
Mesajlar
593
Çözümler
3
Tepki puanı
56
Ödüller
9
10 HİZMET YILI
cok teşekkurler tam ıhtıyacım olanda buydu
 
Seçkin Üye
Katılım
22 Mar 2020
Mesajlar
400
Çözümler
4
Tepki puanı
30
Yaş
26
6 HİZMET YILI
Eyvallah kardeşim sağol lazımdı eline koluna sağlık
 
Onaylı Üye
Katılım
12 Nis 2020
Mesajlar
50
Tepki puanı
1
Ödüller
4
Yaş
25
6 HİZMET YILI
yararlı konu teşekkürler
 
Seçkin Üye
Katılım
22 Mar 2020
Mesajlar
400
Çözümler
4
Tepki puanı
30
Yaş
26
6 HİZMET YILI
Hata alıyorum kardesım yardım edebılecekmısın ?
 
Leydim
Uzman Üye
Katılım
11 Nis 2020
Mesajlar
177
Çözümler
5
Tepki puanı
16
Ödüller
3
6 HİZMET YILI
Teşekkürler birde referer gösterisi mısınız zahmet olmazsa
 
Onaylı Üye
Katılım
20 Tem 2019
Mesajlar
64
Tepki puanı
4
6 HİZMET YILI
Hocam bu proxyleri karşıdan girilebilecek şekilde nasıl değiştirebiliriz? Yani ben proxy giricem o proxy ile giriş yapacak sitelere ?
 
Uzman Üye
Katılım
25 Kas 2018
Mesajlar
216
Tepki puanı
41
Ödüller
7
7 HİZMET YILI
Hocam bu proxyleri karşıdan girilebilecek şekilde nasıl değiştirebiliriz? Yani ben proxy giricem o proxy ile giriş yapacak sitelere ?
Karşıdan derken ? Bir internet sitesi üzerinden mi çekeceksin yoksa veritabanından mı, düz elinle gireceksen
myProxy.HttpProxy = "localhost:80"; şu kısımdaki localhost proxy'nin ip'si 80 yazan yer portu
 
Banlı Üye
Katılım
30 Ağu 2016
Mesajlar
802
Çözümler
7
Tepki puanı
221
Ödüller
7
Yaş
26
9 HİZMET YILI
Dostum teşekkür ediytorum işime yaradı
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst