সিআরএল ব্যবহার করে এফটিপি থেকে ফাইল ডাউনলোড করা


20

আমি আমার কম্পিউটারের এফটিপি সার্ভার থেকে একটি লোকাল ড্রাইভে একটি ফাইল ডাউনলোড করতে একটি সিআরএল কমান্ড ব্যবহার করার চেষ্টা করছি। আমি চেষ্টা করেছিলাম

curl " ftp: // myftpsite " - ব্যবহারকারীর নাম: পাসওয়ার্ড -কিউ " সিডাব্লুডি / ব্যবহারকারী / মাইফোল্ডার /" -ও "মাইফাইল.রাউ"

তবে এটি একটি ত্রুটি দেয় যা বলে:

কার্ল: দূরবর্তী ফাইলের নামটির দৈর্ঘ্য নেই!
কার্ল: আরও তথ্যের
কার্লের জন্য 'কার্ল - হেল্প' বা 'কার্ল - ম্যানুয়াল' চেষ্টা করুন : (6) হোস্টটি সমাধান করতে পারেনি: myfile.raw; অনুরোধ করা ধরণের কোনও ডেটা রেকর্ড নেই

আমি অন্য কয়েকটি পদ্ধতি চেষ্টা করেছি, কিন্তু কিছুই কার্যকর বলে মনে হচ্ছে না।

এছাড়াও, আমি কোন ফোল্ডারে ফাইলটি ডাউনলোড করতে চাই তা নির্দিষ্ট করতে হবে তা সম্পর্কে আমি নিশ্চিত নই। আমি যে কিভাবে করতে হবে?

উত্তর:


26

চেষ্টা

curl -u user:password 'ftp://mysite/%2fusers/myfolder/myfile/raw' -o ~/Downloads/myfile.raw

এফটিপি ইউআরএলগুলিতে, পথটি সূচনা ডিরেক্টরি (সাধারণত আপনার হোমডির) এর সাথে সম্পর্কিত। আপনাকে একটি নিখুঁত পাথ নির্দিষ্ট করতে হবে এবং এর অর্থ %2fনির্দিষ্ট করতে ব্যবহার করা /। এটির প্রয়োজন কারণ ftp:URL গুলির পাথটিকে স্ল্যাশ-বিচ্ছিন্ন নামের তালিকা হিসাবে বিবেচনা করা হয়, যার প্রত্যেকটি পৃথক CWDকমান্ড দেওয়ার কথা। %2fসঙ্কেতমুক্ত হয় পরে বিভাজন। দেখুন বোঝায় যা RFC 1738 এবং FTP- র URL গুলি

আউটপুট অবস্থান হিসাবে, কেবল একটি পথ দিন -o


সুরক্ষা পরামর্শ:

  • আপনার পাসওয়ার্ডটি ইউআরএলে রাখবেন না। এটিতে সংরক্ষণ করা ~/.netrcবিশেষত নিরাপদ নয়, তবে এটি অন্তত লুকানো ps -ef

  • আপনার পাসওয়ার্ড পরিষ্কার পাঠ্যে প্রেরণ করা হয়। সার্ভার যদি এটি সমর্থন করে তবে ব্যবহার করুন curl --ssl-reqdবাcurl ftps://mysite/...

  • এসএফটিপি (এসএসএইচ ফাইল স্থানান্তর প্রোটোকল) ব্যবহার করা আরও ভাল হবে।


দুর্দান্ত কাজ করেছেন % 2f কীভাবে ব্যবহার করা হচ্ছে তা আমি পুরোপুরি বুঝতে পেরেছি তা নিশ্চিত নয়, তবে আপনি এটি ব্যবহার করছেন / তবে ওহে এটি কাজ করে, তাই আমি অভিযোগ করব না। সাহায্যের জন্য ধন্যবাদ!
জোশিয়ার

1
@Josiah: মনে হচ্ছে যে URL "পাথ" দ্বারা বিভক্ত করা /, এবং প্রতিটি যুক্তি দিয়ে পাঠানো হয় CWDকমান্ড প্রয়োগ করুন: %2fusers/myfolderযেমন CWD /users, CWD myfolder। এই বিষয়টিতে আরএফসি 1738 দেখুন ।
ব্যবহারকারী1686

2
curl -T /users/myfolder/myfile.raw -u username:password "ftp://myftpsite/path/myfile.raw"

আমি এই সব সময় ব্যবহার। ইহা যাদুর মত কাজ করে।


1
আমি কি এই উত্তরটি লক্ষ্য করে প্রথমত ভুল করছি? টি-টি প্যারামিটারটির অর্থ "ফাইল আপলোড", যখন ওপি "ফাইল ডাউনলোড"
চেয়েছিল

0

চেষ্টা করুন:

curl "ftp://user:password@myftpsite/users/myfolder/myfile.raw"

(যদি দূরবর্তী ফাইলের নামটি 'মাইফিল.আরও' হয়)


আমি যখন এটি চেষ্টা করি, আমি নিম্নলিখিত ত্রুটিটি পেয়েছি: "কার্ল: (9) সার্ভার আপনাকে প্রদত্ত ডিরেক্টরিতে পরিবর্তন করতে অস্বীকার করেছে"। আমি বিশ্বাস করি যে কেন আমাকে -Q "CWD" কমান্ডটি ব্যবহার করা প্রয়োজন।

0

ইয়ান পরামর্শ হিসাবে,

কার্ল " ftp: // ব্যবহারকারীর: password@myftpsite/users/myfolder/myfile.raw "

কাজ করা উচিত, তবে কিছু এফটিপি সার্ভার সুরক্ষা নীতিগুলি ব্যবহার করে যা মানদণ্ড অনুসারে নয়। এই ক্ষেত্রে, --ftp-method singlecwdবা --ftp-method nocwdবিকল্পটি সাহায্য করতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.