• 25-01-2019, 05:04:12
    #1
    selamlar. ufak bir sorum var.

    c# selenium ile bot yaziyorum chromedriver kullanarak. ancak tek sorunum user pass ip port ile proxy girisi saglayamamam. cok basit sekilde bunu nasil yaparim?
  • 25-01-2019, 08:50:38
    #2
    direk olarak yapamiyorsun.

    bir extension ile yapabilirsin. eger headless olarak kullaniyorsan extension da kullanamiyorsun.


    asagidaki kodu extensiona cevirip kullanabilirsin.



    var username = "xxx";
    var password = "xx";
    var retry = 3;

    chrome.webRequest.onAuthRequired.addListener(
    function handler(details) {
    if (--retry < 0)
    return {cancel: true};
    return {authCredentials: {username: username, password: password}};
    },
    {urls: ["<all_urls>"]},
    ['blocking']
    );
  • 25-01-2019, 10:29:31
    #3
    Amacin iyi bir sey yapmaksa socks protokolünü kullanabilirsin, bir eklenti vs kullanmana da gerek yok..

    https://stackoverflow.com/a/28891213

    Ben proxy kaynagi olarak tor kullanmistim
  • 25-01-2019, 10:51:14
    #4
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    Amacin iyi bir sey yapmaksa socks protokolünü kullanabilirsin, bir eklenti vs kullanmana da gerek yok..

    https://stackoverflow.com/a/28891213

    Ben proxy kaynagi olarak tor kullanmistim
    http de oluyor. sadece authentication yapamiyorsun. userass@iport seklinde yapsan bile yemiyor.

    eger selenium disina cikarsa 3proxy-tor gibi bir cok secenek mevcut. selenium tarafindan proxyi local ip tanimlatip 3proxy veya tor uzerindne authenticated yaparak cikabilir. burada konu direk selenium uzerinden nasil yapilacagi.
  • 25-01-2019, 13:42:05
    #5
    Platin üye
    Some adlı üyeden alıntı: mesajı görüntüle
    direk olarak yapamiyorsun.

    bir extension ile yapabilirsin. eger headless olarak kullaniyorsan extension da kullanamiyorsun.


    asagidaki kodu extensiona cevirip kullanabilirsin.



    var username = "xxx";
    var password = "xx";
    var retry = 3;

    chrome.webRequest.onAuthRequired.addListener(
    function handler(details) {
    if (--retry < 0)
    return {cancel: true};
    return {authCredentials: {username: username, password: password}};
    },
    {urls: ["<all_urls>"]},
    ['blocking']
    );
    tesekkurler yorumunuz icin ancak c# a dun basladim

    bunu nasil extension yapip kullanabilirim?



    ChromeOptions options = new ChromeOptions();
    
                options.AddArguments("--proxy-server=user:pass@ip:port");
    
                IWebDriver Driver = new ChromeDriver(options);
    
                Driver.Navigate().GoToUrl("https://whatismyipaddress.com/tr/ip-im");
    üstteki kodu kullandığımda şöyle bir hata alıyorum;


    çözemedik
  • 25-01-2019, 16:58:27
    #6
    Üyeliği durduruldu
    Merhabalar yanlış anlamaz iseniz bir şey soracağım.

    C# ye dün başladım demişsinizde e peki sizce bu çok erken olmamışmı ? önce dili biraz öğrenseniz belki daha iyi olur ve daha bir çözüm bulursunuz hatta kodlarınızı bile daha iyi stabil ve düzenli yazabilirsiniz.

    Benimki sadece nacizane bir tavsiye sakın yanlış anlamayın.

    İyi forumlar
  • 25-01-2019, 17:12:00
    #7
    Platin üye
    londoner adlı üyeden alıntı: mesajı görüntüle
    Merhabalar yanlış anlamaz iseniz bir şey soracağım.

    C# ye dün başladım demişsinizde e peki sizce bu çok erken olmamışmı ? önce dili biraz öğrenseniz belki daha iyi olur ve daha bir çözüm bulursunuz hatta kodlarınızı bile daha iyi stabil ve düzenli yazabilirsiniz.

    Benimki sadece nacizane bir tavsiye sakın yanlış anlamayın.

    İyi forumlar
    estafurullah hocam neden yanlış anlayayım tavsiyeniz için teşekkür ederim.

    dediğiniz çok doğru ama biraz aceleci bi yapım olduğu için böyle biraz ileri gittim

    çözüm bulacağıma inanıyorum. ünide derslerden aklımda birkaç şey kalmış, ondan dolayı biraz hızlı gittim sanırım.

    tabi anlamak, öğrenmek daha önemli dediğiniz gibi.
  • 25-01-2019, 17:16:43
    #8
    Üyeliği durduruldu
    Ozaman buraya bir bakmanızı öneririm en azından basit mantığını anlamak için

    Not: yazılımdan para kazanan biri olarak daha önce hiç chrome extension yazmayı denemedim ama bu linkten basit bir giriş yapılmış.

    https://www.c-sharpcorner.com/Upload...l-studio-2013/

    Umarım işinizi görür

    İyi forumlar
  • 26-01-2019, 00:47:50
    #9
    Some adlı üyeden alıntı: mesajı görüntüle
    http de oluyor. sadece authentication yapamiyorsun. userass@iport seklinde yapsan bile yemiyor.

    eger selenium disina cikarsa 3proxy-tor gibi bir cok secenek mevcut. selenium tarafindan proxyi local ip tanimlatip 3proxy veya tor uzerindne authenticated yaparak cikabilir. burada konu direk selenium uzerinden nasil yapilacagi.
    Demek istedigini pek anlayamadim hocam kusura bakma..

    Projemi buldum harici diskte. Selenium degil de gecko kullanmisim (2014 yilinda yapmistim bir arkadasla birlikte). Orada direk tor'dan proxy ürettirip kullaniyorduk. Tabi ekstra bazi seyler daha var, bu sayede google un, proxy ayiklayicilarindan %90 oraninda kacmayi basarmistik. Ama simdi durum ne bilmiyorum.. Is sadece Tor da bitmiyor..

    Tor, her hangi bir authentication istemedigi icin her hangi bir sey eklemedik. Ama ilgilenen arkadaslar olursa

    Gecko.GeckoPreferences.User["network.proxy.type"] = 1;
    Gecko.GeckoPreferences.User["network.proxy.http"] = address;
    Gecko.GeckoPreferences.User["network.proxy.http_port"] = portNumber;
    Gecko.GeckoPreferences.User["network.proxy.login"] = Username;
    Gecko.GeckoPreferences.User["network.proxy.password"] = Password;
    Gecko.GeckoPreferences.User["network.proxy.socks_remote_dns"] = true;
    Gecko.GeckoPreferences.User["network.proxy.socks_version"] = 5;
    gibi bir kodla yapilabilir



    londoner adlı üyeden alıntı: mesajı görüntüle
    Ozaman buraya bir bakmanızı öneririm en azından basit mantığını anlamak için

    Not: yazılımdan para kazanan biri olarak daha önce hiç chrome extension yazmayı denemedim ama bu linkten basit bir giriş yapılmış.

    https://www.c-sharpcorner.com/Upload...l-studio-2013/

    Umarım işinizi görür

    İyi forumlar
    Sanirim konuyu yanlis anlamissiniz hocam (gerci diger arkadas da benim yanlis anladigimi söylüyor ) Sorun browser icin bir extension degil de, open-source olarak browser'un framworkunu kullanan bir library ile proxy kullanarak cesitli islemler yapmak istemesi. .Net Framework ile gelen ve kullandigimiz webbrowser objesi aslinda Internet Explorer'un temelini kullaniyor. Ancak bir cok seyde yetersiz olduklari icin open source olarak google ve firefox tabanli librarylerin sundugu browser objeleri farkli isler yapmak icin kullanilabiliyor. Bunlardan biri de selenium. Onunla ilgili sormus arkadas da. Tabi daha yeni baslamis biri icin büyük bir adim zaten amaci bot yapmakmis yani profesyonel anlamda ögrenmesine gerek yok bir seyleri..