উইজেট এবং এনকোডযুক্ত ইউআরএল


12

আমার এই জাতীয় URL রয়েছে:

http://dl.minitoons.ir/longs/Khumba (2013) [EN] [BR-Rip 720p] - [www.minitoons.ir].rar

আমি এই ইউআরএলটি ব্যবহার করে ডাউনলোড করতে চাই wget। আমি যদি সরাসরি এটি পৌঁছে দিই তবে wgetসবকিছু ঠিকঠাক হয়। তবে আমি এমন পরিস্থিতিতে আছি যে আমার কাছে ডাউনলোড ইউআরএলগুলির কেবলমাত্র এনকোডড সংস্করণ রয়েছে। আমি যদি উপরে URL এর এনকোড সংস্করণটি পাস করি তবে wgetএটি নীচের ত্রুটিটি ছুড়ে ফেলে:

$ wget "http%3A%2F%2Fdl.minitoons.ir%2Flongs%2FKhumba%20(2013)%20%5BEN%5D%20%5BBR-Rip%20720p%5D%20-%20%5Bwww.minitoons.ir%5D.rar"
wget: unable to resolve host address `http://dl.minitoons.ir/longs/khumba (2013) [en] [br-rip 720p] - [www.minitoons.ir].rar'

লক্ষ করুন যে, wget(উদাহরণস্বরূপ URL এর ছোট হাতের অক্ষর পরিবর্তন Khumbaকরতে khumba)। এই সমস্যাটি সমাধান করার জন্য আমার কী করা উচিত?

উত্তর:


19

এটি বিরক্তিকরভাবে সাধারণ হিসাবে, এখানে বিভিন্ন রূপান্তরকারী পাওয়া যায় - যেমন এই সাইট । আপনি এগুলি ইউআরএল ডিকোড করতে ব্যবহার করতে পারেন - সুতরাং এটি এটি রূপান্তর করবে:

http%3A%2F%2Fdl.minitoons.ir%2Flongs%2FKhumba%20(2013)%20%5BEN%5D%20%5BBR-Rip%20720p%5D%20-%20%5Bwww.minitoons.ir%5D.rar

প্রতি:

http://dl.minitoons.ir/longs/Khumba (2013) [EN] [BR-Rip 720p] - [www.minitoons.ir].rar

কমান্ড লাইন সংস্করণ থাকলেও এটি হবে নি ...

সম্পাদনা করুন:

একটি কমান্ড লাইন সংস্করণ পাওয়া গেছে - মূলত:

echo "http%3A%2F%2F-REST-OF-URL" | sed -e's/%\([0-9A-F][0-9A-F]\)/\\\\\x\1/g' | xargs echo -e

ইউআরএল ডিকোড করার জন্য এটি এর মতো স্ক্রিপ্টে প্রয়োগ করা যেতে পারে:

#!/bin/bash
echo "$@" | sed -e's/%\([0-9A-F][0-9A-F]\)/\\\\\x\1/g' | xargs echo -e
exit

যা সংরক্ষণ ও সম্পাদনযোগ্য হয়ে উঠলে এটি বেশ সুন্দরভাবে কাজ করে।

এছাড়াও এই স্ক্রিপ্ট, যা উল ডাউনলোডও করবে:

#!/bin/bash
echo "$@" | sed -e's/%\([0-9A-F][0-9A-F]\)/\\\\\x\1/g' | xargs echo -e | wget -c -i -
exit

এনবি আমার মনে হয় URL টি যে ক্ষেত্রে রয়েছে তা বেশিরভাগ সাইটের জন্য গুরুত্বপূর্ণ নয় - যেমনHTTP://WWW.UBUNTU.COM


4
python -c 'import urllib2; print urllib2.unquote("'${URL}'")'আপনি যদি পরিবেশগত পরিবর্তনশীল ইউআরএলগুলিতে আপনার ইউআরএল রাখেন তবে প্রায় একই কাজ করে।
তানেলি 20

3
ডোমেনের ক্ষেত্রে সাধারণত গুরুত্বপূর্ণ নয়, তবে সার্ভার কেস-সংবেদনশীল রাউটিং ব্যবহার করে বা ভিন্ন কেসের সাথে সম্পর্কিত URL গুলি প্রকৃত পৃষ্ঠায় পুনর্নির্দেশ না করে তবে তার পরে কী হবে তা কেস হতে পারে। পয়েন্টে কেস: বিকাশকারী.অ্যান্ড্রয়েড / রেফারেন্স / অ্যান্ড্রয়েড / ভিউ / ভিউ এইচটিএমএল বনাম বিকাশকারী । এবং অ্যান্ড্রয়েড / রেফারেন্স / অ্যান্ড্রয়েড / ভিউ / ভিউ html
জ্যাব 3:33

7

আপনার এটি এটি ব্যবহার করা উচিত

wget "http://dl.minitoons.ir/longs/Khumba%20(2013)%20[EN]%20[BR-Rip%20720p]%20-%20[www.minitoons.ir].rar"`

প্রতিটি স্থানের সাথে কেবল প্রতিস্থাপন করুন %20। অথবা আপনার আসল লিঙ্কটি অনুলিপি করুন এবং এটিকে ক্রোমিয়াম ব্রাউজারের ঠিকানা বারে আটকান। এটি আপনার জন্য এটি স্বয়ংক্রিয়ভাবে ফর্ম্যাট হবে। এখন সেখান থেকে এটি আপনার টার্মিনালে অনুলিপি করুন।


2
এই পদ্ধতিটি কোনও কোনও ক্ষেত্রে সুরক্ষা ঝুঁকিপূর্ণ হতে পারে। আপনার যদি ইতিমধ্যে ক্রোমিয়াম খোলা থাকে, তবে এটি সম্ভবত চাপ দেওয়ার [Ctrl]+[Shift]+[J](conণ কনসোলের জন্য) সবচেয়ে দ্রুততম উপায় decodeURIComponent("your-decoded-URI")
কমফ্রিচ

4

উইজেটটি URL টি নিম্নলিখিত ফর্ম্যাটটি প্রত্যাশা করে:

[protocol://]host/path

প্রোটোকল ঐচ্ছিক। প্রোটোকলের অনুপস্থিতিতে , উইজেট এইচটিটিপি গ্রহণ করে।

উইজেট শতাংশ-এনকোডযুক্ত ইউআরএল ঠিক জরিমানা গ্রহণ করে তবে প্রোটোকল , হোস্ট এবং পাথের মধ্যে ডিলিমিটারগুলি শতাংশ-এনকোড করা যায় না।

এজন্যই উইজেট ইউআরএলটির আবরণ পরিবর্তন করেছিল। যেহেতু এটি একটিও বিনা কোডযুক্ত স্ল্যাশ খুঁজে পায় নি, এটি এটি ধরে নেয়

http://dl.minitoons.ir/longs/khumba (2013) [en] [br-rip 720p] - [www.minitoons.ir].rar

হোস্টনাম (যা কেস-সংবেদনশীল হবে)। আসল হোস্টনাম অবশ্যই dl.minitoons.ir,।

একটি স্বয়ংক্রিয় সমাধান, বদলে জন্য %3A%2F%2Fএবং %2Fদ্বারা হোস্ট-নেম পর ://এবং /যথেষ্ট হবে, কিন্তু এটা এক URL টি ডিকোড করতে শুধু সহজ হয়। @ উইলফ এর জন্য ইতিমধ্যে একটি ভাল সমাধান দিয়েছে।

তবে আপনি যদি নিজেই উইজেট কমান্ডটি টাইপ করতে চলেছেন তবে কেবল এটি করুন:

wget "dl.minitoons.ir/longs%2FKhumba%20(2013)%20%5BEN%5D%20%5BBR-Rip%20720p%5D%20-%20%5Bwww.minitoons.ir%5D.rar"

1

আপনার কেবলমাত্র ইউআরএল এর চারপাশে কোট করা প্রয়োজন এবং শেষ হয়েছে:

wget "http://dl.minitoons.ir/longs/Khumba (2013) [EN] [BR-Rip 720p] - [www.minitoons.ir].rar"
Warning: wildcards not supported in HTTP.
--2014-03-02 20:40:20--  http://dl.minitoons.ir/longs/Khumba%20(2013)%20[EN]%20[BR-Rip%20720p]%20-%20[www.minitoons.ir].rar
Resolving dl.minitoons.ir (dl.minitoons.ir)... 79.127.127.41
Connecting to dl.minitoons.ir (dl.minitoons.ir)|79.127.127.41|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 594062365 (567M) [application/x-rar-compressed]
Saving to: ‘Khumba (2013) [EN] [BR-Rip 720p] - [www.minitoons.ir].rar’

 0% [                                       ] 73,288      44.9KB/s          

সেভাবে সহজ এবং আপনাকে স্টাফ দিয়ে নিজেকে বিব্রত করতে হবে না।


0

আমি এটির জন্য একটি অজগর স্ক্রিপ্ট লিখে শেষ করেছি।

from os import listdir, rename
from urllib.parse import unquote  # py2: from urllib import unquote

os.chdir('/mydir/')
for filename in listdir('.'):
    rename(filename, unquote(filename))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.