{"id":3610,"date":"2023-08-08T18:01:51","date_gmt":"2023-08-08T15:01:51","guid":{"rendered":"https:\/\/proxynet.io\/?p=3610"},"modified":"2024-05-16T19:47:06","modified_gmt":"2024-05-16T16:47:06","slug":"curl-proxy","status":"publish","type":"post","link":"https:\/\/proxynet.io\/tr\/blog\/curl-proxy","title":{"rendered":"cURL ile Proxy Nas\u0131l Kullan\u0131l\u0131r?"},"content":{"rendered":"\n<h2 id='curl-nedir'  id=\"boomdevs_1\" class=\"wp-block-heading\">cURL Nedir ? <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">cURL (curl olarak okunur) sunuculara ve sunuculardan veri aktar\u0131m\u0131n\u0131 kolayla\u015ft\u0131ran bir komut sat\u0131r\u0131 arac\u0131d\u0131r. Bir terminalde birka\u00e7 sat\u0131r komutla, herhangi bir sunucudan di\u011ferine b\u00fcy\u00fck veri y\u0131\u011f\u0131nlar\u0131n\u0131n de\u011fi\u015fimini tamamlayabilirsiniz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Her program komutu gibi, cURL de d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in kat\u0131 bir s\u00f6zdizimine uymal\u0131d\u0131r. S\u00f6zdizimi a\u015fa\u011f\u0131daki bi\u00e7imi al\u0131r.<br>cURL [se\u00e7enekler] [URL]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00f6zdiziminin &#8216;se\u00e7enekler&#8217; k\u0131sm\u0131, komutun istenen sonucunu g\u00f6steren belirli komut parametrelerini belirtir. cURL komutlar\u0131 i\u00e7in bu parametrelerden veya bayraklardan yakla\u015f\u0131k 380 tane vard\u0131r. Bunlardan pop\u00fcler olan\u0131 &#8216;-o&#8217;dur. Bir sayfan\u0131n i\u00e7eri\u011finin bir dosya i\u00e7inde teslim edilmesine neden olur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cURL ayr\u0131ca aktar\u0131m hedefini veya kayna\u011f\u0131n\u0131, dolay\u0131s\u0131yla s\u00f6zdiziminin URL k\u0131sm\u0131n\u0131 tan\u0131mlamak i\u00e7in belirli bir Tekd\u00fczen Kaynak Tan\u0131mlay\u0131c\u0131 (URI) t\u00fcr\u00fc gerektirir. Bu \u00f6zel URI bi\u00e7imi URL&#8217;dir (Uniform Resource Locator). cURL, URL&#8217;leri olmayan a\u011f protokollerini desteklemez. (Protokoller, bir sunucunun bir a\u011f \u00fczerinde nas\u0131l veri talep etmesi ve\/veya almas\u0131 gerekti\u011fine dair bir dizi talimatt\u0131r.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00d6nceki bir makalede, protokollerin ne oldu\u011fu ve iki pop\u00fcler protokol aras\u0131ndaki fark hakk\u0131nda ayr\u0131nt\u0131l\u0131 bir a\u00e7\u0131klama yapm\u0131\u015ft\u0131k: SOCKS ve HTTP. Daha fazla a\u00e7\u0131klama i\u00e7in kontrol etmelisiniz).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cURL, LibcURL ad\u0131 verilen bir iletim yaz\u0131l\u0131m\u0131n\u0131 kullan\u0131r. Bu, cURL&#8217;\u00fcn destekledi\u011fi \u00e7oklu protokollerin bir listesini i\u00e7eren bir k\u00fct\u00fcphanedir. Sa\u011flam ve \u00e7ok y\u00f6nl\u00fcd\u00fcr ve belki de en \u00e7ok kullan\u0131lan a\u011f aktar\u0131m k\u00fct\u00fcphanesidir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">libcURL geleneksel ve ta\u015f\u0131nabilir bir a\u011f yaz\u0131l\u0131m\u0131d\u0131r. Linux, Windows ve macOS dahil olmak \u00fczere \u00e7ok \u00e7e\u015fitli i\u015fletim sistemlerinde ayn\u0131 \u015fekilde \u00e7al\u0131\u015f\u0131r. Bu i\u015fletim sistemlerinde varsay\u0131lan olarak y\u00fckl\u00fcd\u00fcr. Ancak, yoksa, yaz\u0131l\u0131m paketini<strong> cURL web sitesinden<\/strong> indirebilir ve kurabilirsiniz.<\/p>\n\n\n\n<h2 id='curl-hangi-protokolleri-destekler'  id=\"boomdevs_2\" class=\"wp-block-heading\">cURL Hangi Protokolleri Destekler?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><br>cURL, her iki y\u00f6nde de &#8220;veri aktar\u0131m\u0131na&#8221; izin veren protokolleri destekler. T\u00fcm protokoller URL kullan\u0131m\u0131n\u0131 desteklemez ve bu t\u00fcr protokoller cURL ile uyumlu de\u011fildir. Ayr\u0131ca, cURL&#8217;\u00fcn destekledi\u011fi her protokol\u00fcn nas\u0131l da\u011f\u0131t\u0131labilece\u011fine ili\u015fkin \u00f6nceden belirlenmi\u015f bir bi\u00e7imi vard\u0131r.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">HTTP, cURL kullan\u0131m\u0131 i\u00e7in varsay\u0131lan protokold\u00fcr. Bununla birlikte, komut yard\u0131mc\u0131 program\u0131, alfabetik s\u0131raya g\u00f6re d\u00fczenlenmi\u015f a\u015fa\u011f\u0131dakiler de dahil olmak \u00fczere di\u011fer bir\u00e7ok a\u011f protokol\u00fcyle de m\u00fckemmel \u015fekilde \u00e7al\u0131\u015f\u0131r:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>S\u00f6zl\u00fck A\u011f Protokol\u00fc [DICT]<\/li>\n\n\n\n<li>DOSYA<\/li>\n\n\n\n<li>Dosya Aktar\u0131m Protokol\u00fc (FTP)<\/li>\n\n\n\n<li>GOPHER<\/li>\n\n\n\n<li>GOPHERS<\/li>\n\n\n\n<li>IMAP<\/li>\n\n\n\n<li>IMAPS<\/li>\n\n\n\n<li>LDAP<\/li>\n\n\n\n<li>LDAPS<\/li>\n\n\n\n<li>MQTT<\/li>\n\n\n\n<li>POP3<\/li>\n\n\n\n<li>POP3S<\/li>\n\n\n\n<li>RTMP<\/li>\n\n\n\n<li>RTSP<\/li>\n\n\n\n<li>SCP<\/li>\n\n\n\n<li>SFTP<\/li>\n\n\n\n<li>SMB<\/li>\n\n\n\n<li>SMBS<\/li>\n\n\n\n<li>SMTPS<\/li>\n\n\n\n<li>TELNET<\/li>\n\n\n\n<li>TFTP<\/li>\n<\/ul>\n\n\n\n<h2 id='neden-curl-kullan\u0131l\u0131r'  id=\"boomdevs_3\" class=\"wp-block-heading\">Neden cURL Kullan\u0131l\u0131r?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><br>cURL \u00e7ok y\u00f6nl\u00fcl\u00fc\u011f\u00fc, basitli\u011fi ve etkinli\u011fi nedeniyle yayg\u0131n olarak kullan\u0131lmaktad\u0131r. CURL&#8217;lerin temel amac\u0131, desteklenen protokollerden veya formatlardan herhangi birini kullanarak t\u00fcm web sayfalar\u0131n\u0131 indirmek ve y\u00fcklemektir. Ayr\u0131ca kullan\u0131c\u0131 kimlik do\u011frulamas\u0131, HTTP POST, dosya aktar\u0131m\u0131, Metalink deste\u011fi ve FTP y\u00fcklemeleri ve SSL ba\u011flant\u0131lar\u0131 i\u00e7in <strong>proxy <\/strong>deste\u011fi gibi \u00e7e\u015fitli i\u015flevler i\u00e7in de kullan\u0131l\u0131r.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>CURL&#8217;lerin bu yayg\u0131n kullan\u0131m\u0131, cURL&#8217;nin a\u015fa\u011f\u0131daki \u00f6zelliklerinden kaynaklanmaktad\u0131r:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Neyin teslim edildi\u011fi veya g\u00f6nderildi\u011fi hakk\u0131nda ayr\u0131nt\u0131l\u0131 bilgi sa\u011flar ve bu sorun giderme i\u00e7in \u00e7ok yararl\u0131d\u0131r.<\/li>\n\n\n\n<li>\u00c7oklu a\u011f protokol\u00fc deste\u011fi<\/li>\n\n\n\n<li>Belirtilen protokol \u00e7al\u0131\u015fmad\u0131\u011f\u0131nda otomatik olarak ba\u015fka bir protokolle \u00e7al\u0131\u015fmay\u0131 deneyebilir.<\/li>\n\n\n\n<li>URL par\u00e7alar\u0131n\u0131 parantez i\u00e7inde kullanarak bir URL&#8217;nin veya birden fazla URL&#8217;nin par\u00e7alar\u0131n\u0131 belirtme imkan\u0131 sa\u011flar<\/li>\n\n\n\n<li>Farkl\u0131 kullan\u0131c\u0131 ortamlar\u0131 (i\u015fletim sistemleri) ile uyumludur<\/li>\n<\/ul>\n\n\n\n<h2 id='http-https-proxy-ile-curl-kullan\u0131m\u0131'  id=\"boomdevs_4\" class=\"wp-block-heading\">HTTP\/HTTPS proxy ile cURL kullan\u0131m\u0131<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bu web sitesi \u00f6zellikle proxy&#8217;leri test etmek i\u00e7in kullan\u0131\u015fl\u0131d\u0131r \u00e7\u00fcnk\u00fc bu sayfan\u0131n \u00e7\u0131kt\u0131s\u0131 kaynak IP adresidir. E\u011fer do\u011fru bir proxy kullan\u0131yorsan\u0131z, sayfa sizin makinenizden farkl\u0131 bir IP adresi, yani proxy&#8217;nin IP adresini d\u00f6nd\u00fcrecektir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Proxy komutu ile curl \u00e7al\u0131\u015ft\u0131rman\u0131n birden fazla yolu vard\u0131r. Bir sonraki b\u00f6l\u00fcmde proxy detaylar\u0131n\u0131n komut sat\u0131r\u0131 arg\u00fcman\u0131 olarak g\u00f6nderilmesi ele al\u0131nacakt\u0131r. Ayr\u0131ca, HTTPS proxy&#8217;lerini nas\u0131l entegre edece\u011fimizi ke\u015ffedece\u011fiz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">NOT T\u00fcm komut sat\u0131r\u0131 se\u00e7enekleri veya anahtarlar\u0131 b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harfe duyarl\u0131d\u0131r. \u00d6rne\u011fin, -f curl&#8217;e sessizce ba\u015far\u0131s\u0131z olma talimat\u0131 verirken, -F g\u00f6nderilecek bir formu belirtir.<\/p>\n\n\n\n<h2 id='curl-de-proxy-ayarlamak-i\u00e7in-komutlar'  id=\"boomdevs_5\" class=\"wp-block-heading\">cURL&#8217;de proxy ayarlamak i\u00e7in komutlar<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Terminali a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu yaz\u0131p Enter tu\u015funa bas\u0131n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --help<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c7\u0131kt\u0131, se\u00e7eneklerden olu\u015fan b\u00fcy\u00fck bir liste olacakt\u0131r. Bunlardan biri \u015f\u00f6yle g\u00f6r\u00fcnecek:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-x, --proxy &#91;protocol:\/\/]host&#91;:port]  <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">x&#8217;in k\u00fc\u00e7\u00fck oldu\u011funa ve b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harfe duyarl\u0131 oldu\u011funa dikkat edin. Proxy ayr\u0131nt\u0131lar\u0131 -x veya -proxy anahtar\u0131 kullan\u0131larak sa\u011flanabilir. Her ikisi de ayn\u0131 anlama gelir. Proxy ile curl komutlar\u0131n\u0131n botu ayn\u0131d\u0131r:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -x \"http:\/\/user:pwd@127.0.0.1:1234\" \"http:\/\/httpbin.org\/ip\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">veya<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --proxy \"http:\/\/user:pwd@127.0.0.1:1234\" \"http:\/\/httpbin.org\/ip\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">NOT SSL sertifika hatalar\u0131 varsa, curl komutuna -k (k\u00fc\u00e7\u00fck k&#8217;ye dikkat edin) ekleyin. Bu, SSL kullan\u0131rken g\u00fcvensiz sunucu ba\u011flant\u0131lar\u0131na izin verecektir.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --proxy \"http:\/\/user:pwd@127.0.0.1:1234\" \"http:\/\/httpbin.org\/ip\" -k<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You may have noticed that both the proxy url and target url are surrounded in double quotes. This is a recommended practice to handle special characters in the url.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Another interesting thing to note here is that the default proxy protocol is http. Thus, following two commands will do exactly the same:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">curl &#8211;proxy &#8220;http:\/\/user:pwd@127.0.0.1:1234&#8221; &#8220;http:\/\/httpbin.org\/ip&#8221; <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">curl &#8211;proxy &#8220;user:pwd@127.0.0.1:1234&#8221; &#8220;http:\/\/httpbin.org\/ip&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bu komutlar\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131z herhangi bir cURL komutu proxy sunucu arac\u0131l\u0131\u011f\u0131yla otomatik olarak y\u00fcr\u00fct\u00fcl\u00fcr.<\/p>\n\n\n\n<h2 id='socks-proxy-ile-curl-kullan\u0131m\u0131'  id=\"boomdevs_6\" class=\"wp-block-heading\">SOCKS proxy ile cURL kullan\u0131m\u0131<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -x \"socks5:\/\/user:pwd@127.0.0.1:1234\" \"http:\/\/httpbin.org\/ip\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Benzer \u015fekilde, socks s\u00fcr\u00fcm\u00fcne ba\u011fl\u0131 olarak socks4:\/\/, socks4a:\/\/, socks5:\/\/ veya socks5h:\/\/ kullan\u0131labilir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0130ste\u011fe g\u00f6re alternatif olarak, curl socks proxy -x yerine -socks5 anahtar\u0131 kullan\u0131larak da ayarlanabilir. Ayn\u0131 komutu takip edebilir, ancak farkl\u0131 bir anahtar kullanabilirsiniz: kullan\u0131c\u0131 ad\u0131 ve parola -proxy-user anahtar\u0131 kullan\u0131larak g\u00f6nderilebilir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">cURL otomasyon i\u00e7in \u00e7ok g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r ve proxy deste\u011fi a\u00e7\u0131s\u0131ndan tart\u0131\u015fmas\u0131z en iyi komut sat\u0131r\u0131 aray\u00fcz\u00fcd\u00fcr. Son olarak, libcurl php ile \u00e7ok iyi \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in, bir\u00e7ok web uygulamas\u0131 onu web kaz\u0131ma projeleri i\u00e7in kullan\u0131r ve bu da onu herhangi bir web kaz\u0131y\u0131c\u0131 i\u00e7in sahip olunmas\u0131 gereken bir \u015fey haline getirir. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>cURL Nedir ? cURL (curl olarak okunur) sunuculara ve sunuculardan veri aktar\u0131m\u0131n\u0131 kolayla\u015ft\u0131ran bir komut sat\u0131r\u0131 arac\u0131d\u0131r. Bir terminalde birka\u00e7 sat\u0131r komutla, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7354,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[205,209],"tags":[65,50],"class_list":["post-3610","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial","category-intergration","tag-curl","tag-proxy"],"_links":{"self":[{"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/posts\/3610","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/comments?post=3610"}],"version-history":[{"count":1,"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/posts\/3610\/revisions"}],"predecessor-version":[{"id":9148,"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/posts\/3610\/revisions\/9148"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/media\/7354"}],"wp:attachment":[{"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/media?parent=3610"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/categories?post=3610"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/tags?post=3610"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}