cURL dünyaya veri aktarmak için getirildi. Bir proxy ile birleştirildiğinde, güçlü bir veri madenciliği aracına dönüşür.
Bu kılavuz cURL'ü tanıtacak ve proxy'lerle sorunsuz bir şekilde kullanabileceğiniz birkaç farklı yolu açıklayacaktır.
Vekil nedir?
Proxy, kendi bilgisayarınız ile internet arasında yer alan ve tüm ağ trafiğinizi yönlendiren bir bilgisayardır. Web sayfalarını önbelleğe almak veya bağlantıyı anonimleştirmek gibi çeşitli amaçlar için kullanabilirsiniz.
Bir konutproxy 'si sizi internete başka bir gerçek sunucu (genellikle farklı bir konumda) üzerinden bağlar ve eviniz yerine o yerden geziniyormuşsunuz gibi görünmenizi sağlar.
cURL nedir?
Eğer cURL'ü hiç duymadıysanız, belki daha eski isimleriyle biliyorsunuzdur - httpget veya urlget. 1996'dan beri bir süredir kullanılıyor. Uzak sunuculardan veri aktarmanızı sağlayan kullanışlı bir araçtır. Web sayfalarını almak, uzaktaki dosyaları indirmek ve tespit edilmeden daha birçok şey yapmak için cURL'yi proxy'lerle birlikte kullanabilirsiniz.
URL nedir?
Uniform Resource Locator, örneğin https://example.com gibi bir web adresi için kullanılan uygun terimdir. (Ne? Bu iyi bir örnek!)
URL'nin ilk kısmı (HTTPS) protokol tanımlayıcısıdır. Bazen protokol HTTP, bazen de HTTPS olur. Aradaki fark, birinin (HTTPS) şifrelemeli güvenli bir protokol kullanması, diğerinin (HTTP) ise şifrelenmemiş olmasıdır. Daha pek çok protokol var, ancak ben çoğunlukla bu ikisine odaklanacağım.
Which should you use? It depends on your risk tolerance. You can read more about encryption and risk here.
URL'nin ikinci kısmı (example.com) kaynaktır.
Peki ya URL'nin önündeki küçük 'c'?
Müşteri anlamına gelir. (Bu sen oluyorsun)
İkisini birleştirdiğinizde cURL elde edersiniz. Siz ve URL, kaynakları birbirine bağlar ve bulur. (Dokunaklı şeyler!)
cURL ne işe yarar?
cURL Linux, Windows ve Mac işletim sistemlerinin yanı sıra Android ve iOS üzerinde de çalışmaktadır. Ayrıca, özelliklerini özelleştirmek için seçenekler sunar ve bu da onu web yöneticileri topluluğunda çok istenen bir araç haline getirir.
It also supports authentication methods such as Basic and Digest and can handle user-level HTTP proxy configurations exceptionally well.
cURL, HTTP hata kodu gibi belirli koşullarla karşılaştığında ne yapması gerektiğine karar vermenizi sağlayan birçok yapılandırma seçeneğine sahiptir.
Sonuç olarak, bir tarayıcının yaptığı çoğu şeyi yapıyor, ancak hepsi resimsiz ve tüm o eğlenceli şeyler olmadan küçük siyah bir pencerede.
Hızlı cURL kurulum kılavuzu:
Mac OSX veya bir Apple cihazı (IOS) kullanıyorsanız, curl önceden yüklenmiş olarak gelir, bu nedenle bu kısmı atlayın.
For Windows with Cygwin already installed, curl will be recognized as an internal command, so there’s no need to download it. If you’re a Windows user and don’t have Cygwin installed, cURL is most likely not in your c:windowssystem32 directory
Örneğin, Ubuntu kullanıyorsanız, cURL varsayılan depolarda mevcut olacaktır, bu yüzden sadece bu komutu verin: Sudo apt-get install curl.
Bir cURL komut satırının temel parçaları
Eğer bir bilgisayar astrofizikçisi değilseniz, komut satırının yapısına biraz ışık tutmama izin verin.
- Protokol - HTTP, HTTPS, SOCKS, vb. gibi ağ iletişim şemalarını ifade eder.
- Proxy server – the address of the proxy server or proxy host you plan to use
- Port numarası - üzerinden erişeceğiniz port
- Kaynak adresi - hedeflemek istediğiniz web sayfası
- Kullanıcı adı ve parola - proxy adresi kimlik doğrulaması gerektiriyorsa
- Etiketler - her bir komutu açıp kapatan komut satırı seçenekleridir
- Komut satırı argümanları - komut satırı seçeneği (etiketi) ile ilgili bilgileri aktarmanıza izin verir
Hepsini bir araya getirdiğinizde şöyle bir şey elde edersiniz:
cURL'ü proxy'lerle nasıl çalıştırırsınız?
You can set up cURL with various kinds of proxies like residential proxies, private proxies, shared proxies, and datacenter proxies.
cURL'ü proxy'lerle kurmanın en yaygın yolu bir proxy komutudur.
Proxy komutlarını kullanma
Proxy komutu, proxy dizesini (proxy ayrıntıları + bağlantı noktası + kullanıcı + geçiş) etkileyen bir komut satırı seçeneği veya etiketidir. Etki çoğunlukla sadece proxy'yi açmak veya kapatmaktır.
Her etiketin kısa (-) ve uzun (-) versiyonu vardır. Mors alfabesindeki dits ve dahs gibi.
-x
kısa seçenektir.
uzun seçenektir.
Her ikisi de aynı şeyi yapar, ancak -x daha etkilidir (ve belki de estetik olarak daha hoştur).
cURL'ü bir proxy'ye düzgün bir şekilde bağlamak için -x veya -proxy etiketini ve ardından protokolü, proxy sunucusunu, bağlantı noktası numarasını ve aradığınız kaynağı kullanın.
İşte komut satırının nasıl görünebileceğine dair basit bir örnek:
-x, --proxy [protocol]://[proxyhost]:[port][resource address]
Ve biraz daha ete kemiğe bürünmüş:
-x, --proxy http://residential.ipb.server:7777 https://google.com
cURL ile proxy kullanmanın birkaç yolu daha vardır.
Aşağıdaki bölümlerde temel kimlik doğrulama şeması, ortam değişkenlerinin kullanımı, takma ad, yeniden yapılandırma dosyası, farklı protokoller ve proxy'lerin devre dışı bırakılması konularına değinilecektir.
kullanıcı adı ve parola ile cURL
Bir proxy kimlik doğrulama şeması kullanmak için etiket -u veya -proxy-user'dır. Proxy dizesi ve kaynak arasında etiketi, kullanıcı adını ve parolayı girin.
$ curl -x http://residential.ipb.server:7777 [-u username:password] http://google.com
Takma ad kullanma
Bir komut için takma ad, bir proxy için, çok gizli üçlü ajan tipi taktikler gibi geliyor.
Aslında oldukça basit.
Sadece curl komutunu curl komutu + proxy ayrıntılarına eşit hale getiriyorsunuz.
Yani girdiğinizde:
$ curl https//google.com
Aslında şu anlama geliyor:
$ curl -x [all your proxy details] https://google.com
Bu sihirbazlık nasıl yapılıyor? Basit (dediğim gibi):
$ alias curl=curl -x [enter all the proxy details here]
Ortam değişkenlerini kullanma
Ortam değişkeni nedir? Yağmur nedeniyle kaygan yol koşulları gibi bir şey düşünüyorsanız - yakın, ama tam değil.
Bu durumda, bu bir kısayol.
Proxy dizesini her zaman yazmak yerine, proxy'yi kalıcı olarak ayarlayabilirsiniz.
Ortam değişkenleri her tür protokol için çalışır. Tek yapmanız gereken PROTOCOL_PROXY değişkenini ayarlayarak bunu etkinleştirmektir.
http_proxy, HTTPS_PROXY, FTP_PROXY
...ve seçtiğiniz protokol_proxy kombinasyonu için böyle devam eder. HTTP'nin küçük harflerle yazılmış tek protokol olduğuna dikkat edin. Bu bilerek yapıldı. Küçük harf olması gereken tek protokol bu, ancak bunun teknik nedenine burada girmeyeceğim.
Ayrıca kullanabilirsiniz:
ALL_PROXY
eğer görevleriniz protokole özgü değilse.
Örneğin, bu şablonu izleyerek bir proxy dizesi oluşturalım:
$ curl -x [proxy server]:[port] [username:password] [resource]
(bok uydurma)
$ curl -x http://180.1.0.0.1222:8080 -u jumpingjack:candlestick https://nimblejack.com
Proxy komut seçeneğini kullanarak, bunu her zaman yazmanız gerekir. Bunun yerine, değişkeni aşağıdaki gibi dışa aktarma ile ayarlayın:
export http_proxy=http://180.1.0.0.1222:8080 -u jumpingjack:candlestick https://nimblejack.com
or
export WHATEVER OTHER PROTOCOL YOU WANT_PROXY:// [proxy server]:[port] [username:password]
Şimdi, komut satırına girmeniz gereken tek şey:
$ curl https//nimblejack.com
Ve gitmeye hazırsın!
Not: Bir ortam değişkeni ayarladıktan sonra farklı bir proxy kullanmak isterseniz, -x etiketleri bunu geçersiz kılacaktır.
rc.dosyasını değiştirin
Here you appeal to cURL’s inherent nature to use its default settings. When the program loads, it will search %APPDATA% or %USERPROFILE%Application Data for the reconfig file.
Mac ve Linux'ta rc.file, Windows'ta ise _curlrc gibi görünecektir.
Yani tek yapmanız gereken o dosyayı açmak ve proxy ayrıntılarını değiştirmek:
proxy=http://[proxy details]
SOCKS proxy ile cURL
cURL, SOCKS versiyonu SOCKS4 ve SOCKS5'i destekler.
Proxy sunucuları socks protokollerini kullanıyorsa, sözdizimi aynı kalır: -socks4://, socks4a:// veya socks5://.
Her bir SOCKS sürümü için komut satırı seçenekleri aşağıda verilmiştir:
SOCKS4:
$ curl -x socks4://180.1.0.0.1222:8080 http://ipburger.com
SOCKS4A:
$ curl -x socks4a://180.1.0.0.1222:8080 http://ipburger.com/bestresidentialproxies
SOCKS5:
$ curl -x socks5://180.1.0.0.1222:8080 http://ipburger.com/betterthanoxylabsandbrightdata
SOCKS5H:
$ curl -x socks5h://180.1.0.0.1222:8080 http://ipburger.com/decentreadingmaterialtoo
IP adresinden sonra bir port numarası koymadığımı fark edebilirsiniz.
(Belki dikkatiniz dağılmıştır...)
SOCKS protokolünü kullanırken, gerekli olmadığı için URL'ye bir bağlantı noktası numarası eklemeniz gerekmez.
Bil diye söylüyorum.
Proxy'leri devre dışı bırak
Artık bir proxy ile cURL'ün her türlü yolla ayarlanabileceğini biliyoruz. Bu, cURL'ü çalıştırmayı kolaylaştırır ve yazarken zaman kazandırır. Ancak bazı durumlarda mevcut proxy ayarlarınızı sıfırlamanız ve doğrudan bağlanmanız gerekebilir.
Geçerli proxy yapılandırmasını devre dışı bırakmak için -noproxy seçeneği kullanılabilir.
$ curl --noproxy http://ipburger.com
IP Burger cURL Proxy'leri
Komut satırı kompozisyonunu basitçe atlayabilirsiniz. Şüphesiz sıkıcı olabilir. Bu nedenle, bunları sizin için bir araya getirmeyi tercih ederseniz yargılama yok. Aslında, bunu teşvik ediyorum.
Not just because IPBurger delivers residential curl proxies hot off the server, in seconds, but also because you’re probably doing something cool. And I’d rather you spend time doing that than playing lego with boolean bits.
Sadece komut satırı argümanı, komut satırı parametresi, protokol ana bilgisayar bağlantı noktası, kullanıcı adı ve yerinde geçiş ile hazır bir proxy listesi indirebilirsiniz.
Hepsi web kazıma veya yaptığınız diğer harika şeyler için mükemmel olan konut proxy'lerine bağlanır.
SSS
cURL neden her zaman aynı proxy'yi kullanmıyor?
It doesn’t have a way to utilize a single or specific pool of residential IPs from the list. The best option is to run multiple cURLs simultaneously from separate terminal windows, each on different residential proxies. This guarantees that every request gets its own pool of residential IP addresses.
HTTP ve HTTPS protokollerini karıştırabilir miyim?
Hem şeffaf hem de anonim kimlik bilgilerine sahip oldukları sürece isteklerinizi tamamen karıştırabilirsiniz. Dosyaları HTTPS üzerinden indirmeyi planlıyorsanız, cURL her zaman kendi başına HTTPS'yi seçecektir.
cURL'ü aynı anda farklı proxy'ler kullanacak şekilde nasıl yapılandırabilirim?
cURL bir proxy havuzu seçeneğine sahip değildir. Bir seferde yalnızca bir proxy'yi destekler. Birden fazla proxy ile kullanmak için, bunları cURL seçenekleri olarak ayarlamalı ve bir argüman olarak iletmelisiniz. Başka bir deyişle,
curl -x http://addr1:port1 -u username -p password URL_SCHEME://addr2:port2
Eğer cURL'ün ortam değişkenleri aracılığıyla iki veya daha fazla proxy ile çalışmasını istiyorsanız, proxy ayarlarını .bashrc dosyanıza eklemeniz yeterlidir. Ardından, kabuk profilinizi dışa aktardıktan sonra terminalde herhangi bir argüman olmadan komutu yazarak belirli bir proxy sunucusu üzerinden cURL kullanarak herhangi bir proxy'ye erişebilirsiniz.
cURL proxy'lerinin statik olması gerekir mi?
Hayır. cURL proxy'leri yerleşik IP adresleridir ve sık sık değişirler. Başka bir deyişle, dinamik olabilirler. Dinamik yerleşim IP'leri, isteklerin sorunsuz bir şekilde geçmesi için yeterince hızlılarsa cURL ile yeterli şekilde çalışacaktır.
Curl ne için kullanılır?
Uygun gördüğünüz şekilde kullanabilirsiniz. Genellikle, web kazıma veya dosya indirme için kullanabileceğiniz bir komut satırı yardımcı programıdır.
Ne tür vekillere ihtiyacım var?
CAPTCHA'ları alarmları tetiklemeden otomatik olarak geçebildikleri için kaliteli proxy'ler olan konut proxy'lerine ihtiyacınız var. Kullanıcıların hız, anonimlik seviyesi ve ülke gibi farklı seçenekleri seçebildiği bu herkese uyan tek boyutlu proxy'leri kullanmayı düşünmelisiniz.
Bu seçenekler hakkında daha fazla yardım için terminalde "man curl" veya "curl -h" yazın. Man sayfasını görüntüleyecektir. (Düşündüğünüz gibi değil.)