﻿
{"id":7044,"date":"2018-03-10T22:48:35","date_gmt":"2018-03-10T22:48:35","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=7044"},"modified":"2018-03-10T22:48:35","modified_gmt":"2018-03-10T22:48:35","slug":"c-ile-ftpye-baglanma-ve-dosya-transferi","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/c-ile-ftpye-baglanma-ve-dosya-transferi\/","title":{"rendered":"C# \u0130le FTP&#8217;ye Ba\u011flanma ve Dosya Transferi"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>Proje \u00e7al\u0131\u015fmalar\u0131n\u0131zda FTP(File Transfer Protocol) \u00fczerinden \u00e7al\u0131\u015fmalar ger\u00e7ekle\u015ftirmeniz gerekebilir. \u0130\u015fte b\u00f6yle bir ihtiyaca d\u00f6n\u00fck nas\u0131l hareket etmeniz gerekti\u011fini teknik olarak bu i\u00e7eri\u011fimizde inceleyece\u011fiz. T\u00fcm bunlar\u0131n yan\u0131nda teorik olarak FTP&#8217;nin ne oldu\u011fu hakk\u0131nda da bilgi verece\u011fiz.<\/p>\n<h3>FTP(File Transfer Protocol) Nedir<\/h3>\n<p>Bir protokold\u00fcr. Lakin sadece bir protokol de\u011fil ad\u0131 \u00fczerinde internet \u00fczerinden dosya transfer i\u015flemleri i\u00e7in kullan\u0131lan bir i\u015flevselli\u011fe sahiptir. G\u00fcvenlik a\u00e7\u0131s\u0131ndan pekte tercih edilebilir de\u011fildir. Anlayaca\u011f\u0131n\u0131z yapaca\u011f\u0131n\u0131z i\u015flem g\u00fcven arz ediyorsa pekte \u00f6nerilmemektedir. Ayr\u0131ca varsay\u0131lan olarak 21 numaral\u0131 portu kullanmaktad\u0131r.<\/p>\n<p><em><strong>Peki nas\u0131l C# ile bu protokol\u00fc kullanarak internet \u00fczerinden dosya transferi sa\u011flanabilir?<\/strong><\/em> sorusuna gelirsek e\u011fer a\u015fa\u011f\u0131daki s\u0131n\u0131f\u0131 kullanabilirsiniz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    class FTPIslemleri\r\n    {\r\n        public static Task UploadFtpFile(string Server, string KlasorAdi, string DosyaAdi, string KullaniciAdi, string Sifre)\r\n        {\r\n            return Task.Run(() =&gt;\r\n            {\r\n                FtpWebRequest request = null;\r\n                try\r\n                {\r\n                    string SadeDosyaAdi = Path.GetFileName(DosyaAdi);\r\n                    request = WebRequest.Create(new Uri($@&quot;ftp:\/\/{Server}\/{KlasorAdi}\/{SadeDosyaAdi}&quot;)) as FtpWebRequest;\r\n                    request.Method = WebRequestMethods.Ftp.UploadFile;\r\n                    request.UseBinary = true;\r\n                    request.UsePassive = true;\r\n                    request.KeepAlive = true;\r\n                    request.Credentials = new NetworkCredential(KullaniciAdi, Sifre);\r\n                    request.ConnectionGroupName = &quot;group&quot;;\r\n\r\n                    using (FileStream fs = File.OpenRead(DosyaAdi))\r\n                    {\r\n                        byte&#x5B;] buffer = new byte&#x5B;fs.Length];\r\n                        fs.Read(buffer, 0, buffer.Length);\r\n                        fs.Close();\r\n                        Stream requestStream = request.GetRequestStream();\r\n                        requestStream.Write(buffer, 0, buffer.Length);\r\n                        requestStream.Flush();\r\n                        requestStream.Close();\r\n                    }\r\n                }\r\n                catch (Exception ex)\r\n                {\r\n\r\n                }\r\n            });\r\n        }\r\n    }\r\n<\/pre>\n<p>Yukar\u0131daki kod blo\u011funda bulunan s\u0131n\u0131f i\u00e7erisindeki static &#8220;UploadFtpFile&#8221; metodu ile istedi\u011finiz FTP&#8217;ye ba\u011flanabilir ve dosya transferi ger\u00e7ekle\u015ftirebilirsiniz.<\/p>\n<p>Hepinize kolay gelsin \ud83d\ude42<br \/>\nSonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, Proje \u00e7al\u0131\u015fmalar\u0131n\u0131zda FTP(File Transfer Protocol) \u00fczerinden \u00e7al\u0131\u015fmalar ger\u00e7ekle\u015ftirmeniz gerekebilir. \u0130\u015fte b\u00f6yle bir ihtiyaca d\u00f6n\u00fck nas\u0131l hareket etmeniz gerekti\u011fini teknik olarak bu i\u00e7eri\u011fimizde inceleyece\u011fiz. T\u00fcm bunlar\u0131n yan\u0131nda teorik olarak FTP&#8217;nin ne oldu\u011fu hakk\u0131nda da&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":255,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[2051,2052,2050,2049],"class_list":["post-7044","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c-sharp-c","tag-c-ftp-connection","tag-c-ftp-dosya-gonderme","tag-file-transfer-protocol","tag-ftp"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/7044","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=7044"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/7044\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/255"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=7044"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=7044"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=7044"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}