গোলং-এ ইউআরএল এনকোডিং (ইউআরএল এনকোডিং)

Golam E I U Ara Ela Enakodim I U Ara Ela Enakodim



ইউআরআই এনকোডিং, ইউআরএল এনকোডিং বা শতাংশ এনকোডিং নামেও পরিচিত, একটি URL-এর মধ্যে বিশেষ অক্ষর এবং নন-আলফানিউমেরিক অক্ষরগুলিকে একটি ফর্ম্যাটে রূপান্তর করার প্রক্রিয়াকে বোঝায় যা নিরাপদে ওয়েবে প্রেরণ করা যেতে পারে।

ইউআরএল এনকোডিং অত্যাবশ্যক যখন একটি ইউআরএল-এ এমন অক্ষর থাকে যেগুলো ইউআরএলের প্রেক্ষাপটে বিশেষ অর্থ থাকতে পারে যেমন স্পেস, অ্যাম্পারস্যান্ড, প্রশ্ন চিহ্ন এবং আরও অনেক কিছু।

এই ধরনের অক্ষরগুলিকে যেমনভাবে প্রেরণ করা হয়েছে তা নিশ্চিত করতে, URL এনকোডিং আমাদেরকে তাদের মানগুলিতে উপস্থাপন করার একটি উপায় প্রদান করে যা ক্লায়েন্ট সাইড বা সার্ভার-সাইড অ্যাপ্লিকেশন দ্বারা পড়তে পারে।







এই টিউটোরিয়ালে, আমরা শিখব কিভাবে গো স্ট্যান্ডার্ড লাইব্রেরিতে দেওয়া নেট/ইউআরএল প্যাকেজ ব্যবহার করে ইউআরএল এনকোডিং এবং ডিকোডিং করা যায়।



ইউআরএল এনকোডিং/ডিকোডিংয়ের ভূমিকা

ইউআরএল এনকোডিং আমাদের বিশেষ অক্ষরগুলিকে শতাংশ-এনকোডেড উপস্থাপনাগুলির সাথে প্রতিস্থাপন করতে দেয় যাতে সেগুলি ওয়েব সার্ভার এবং ব্রাউজারগুলির দ্বারা সঠিকভাবে ব্যাখ্যা করা হয়।



উদাহরণস্বরূপ, URL এনকোডিং নিম্নলিখিত বিশেষ অক্ষরগুলিকে তাদের URL-বান্ধব উপস্থাপনায় রূপান্তরিত করে:





  • স্পেস (') '%20' হিসাবে এনকোড করা হয়েছে
  • অ্যাম্পারস্যান্ড ('&') '%26' হিসাবে এনকোড করা হয়েছে
  • প্রশ্ন চিহ্ন ('?') '%3F' হিসাবে এনকোড করা হয়েছে

ইউআরএল ডিকোডিং, অন্য দিকে, ইউআরএল এনকোডিংকে বিপরীত করার প্রক্রিয়া। এটি একটি ইউআরএল-এনকোডেড স্ট্রিং নেয় এবং এটিকে তার আসল ফর্মে রূপান্তর করে।

গোলং ইউআরএল এনকোডিং

আসুন আমরা মূল বিষয়গুলি দিয়ে শুরু করি এবং বিভিন্ন পদ্ধতি এবং কৌশলগুলি কভার করি যা আমরা Go-তে URL এনকোডিং সম্পাদন করতে ব্যবহার করতে পারি।



পদ্ধতি 1: Url.QueryEscape ব্যবহার করা

প্রথম যে পদ্ধতিটি আমরা ব্যবহার করতে পারি তা হল নেট/ইউআরএল প্যাকেজ থেকে 'QueryEscape' ফাংশন। এটি Go-তে ইউআরএল এনকোডিং করার সবচেয়ে সহজ এবং সবচেয়ে সাধারণ পদ্ধতি।

ফাংশনটি একটি স্ট্রিং নেয় এবং নিম্নলিখিত উদাহরণ কোডে দেখানো স্ট্রিংটির একটি URL-এনকোডেড সংস্করণ প্রদান করে:

প্যাকেজ প্রধান
আমদানি (
'fmt'
'নেট/ইউআরএল'
)
ফাংশন প্রধান () {
ইনপুট := 'https://demo.elastic.co/cookie/index.html?goto=/app/apm&action=none'
এনকোড করা := url . QueryEscape ( ইনপুট )
fmt . Println ( এনকোড করা )
}

এই উদাহরণে, আমরা এর থেকে URL রূপান্তর করতে 'QueryEscape' ফাংশন ব্যবহার করি https://demo.elastic.co/cookie/index.html?goto=/app/apm&action=none .

প্রতি:

https % 3A % 2F % 2Fdemo . ইলাস্টিক . সহ % 2Fcookie % 2Findex . html % 3Fgoto % 3D % 2 বাবা % 2Fapm % 26 কর্ম % 3Dnone

আপনি লক্ষ্য করবেন যে এনকোড করা স্ট্রিং-এ, সমস্ত বিশেষ অক্ষর তাদের URL নিরাপদ সমতুল্য রূপান্তরিত হয়েছে।

পদ্ধতি 2: Url.Values ​​ব্যবহার করা

আমরা নেট/ইউআরএল প্যাকেজে “url.Values” ফাংশনটি ব্যবহার করতে পারি একাধিক কী-মান জোড়াকে কোয়েরি স্ট্রিং হিসাবে এনকোড করতে।

ফাংশন স্বয়ংক্রিয়ভাবে প্রতিটি কী এবং মানের জন্য URL এনকোডিং সঞ্চালন করে।

প্যাকেজ প্রধান
আমদানি (
'fmt'
'নেট/ইউআরএল'
)

ফাংশন প্রধান () {
মান := url . মূল্যবোধ {}
মান . যোগ করুন ( 'যাও' , '/অ্যাপ/এপিএম' )
মান . যোগ করুন ( 'কর্ম' , 'কোনোটিই' )
এনকোড করা := মান . এনকোড ()
fmt . Println ( এনকোড করা )
}

এই উদাহরণে, আমরা url.Values() ফাংশনটি একটি স্ট্রিং-এ “goto” এবং “action” নামক কী-মান জোড়া এনকোড করতে ব্যবহার করি।

কর্ম = কোনটিই যাও = % বাবা % ফাপম

গোলং ইউআরএল ডিকোডিং

ইউআরএল ডিকোডিং একটি সাধারণ কাজ বিশেষ করে যখন Go-তে একটি HTTP ক্লায়েন্ট বা সার্ভার প্রয়োগ করা হয়।

নিচের কয়েকটি সাধারণ কাজ যা আপনি ইউআরএল ডিকোডিং এ ব্যবহার করতে পারেন।

পদ্ধতি 1: Url.QueryUnescape ব্যবহার করা

হ্যাঁ, যেমন একটি ফাংশন আছে. এই ফাংশনটি QueryEscape এর বিপরীত যা আমাদের URL এনকোড করতে দেয়।

ফাংশনটি একটি ইউআরএল-এনকোডেড স্ট্রিং নেয় এবং নিম্নলিখিত উদাহরণে প্রদর্শিত ডিকোডেড সংস্করণটি প্রদান করে:

প্যাকেজ প্রধান
আমদানি (
'fmt'
'নেট/ইউআরএল'
)
ফাংশন প্রধান () {
এনকোড করা := 'https%3A%2F%2Fdemo.elastic.co%2Fcookie%2Findex.html%3
Fgoto%3D%2Fapp%2Fapm%26action%3Dnone
ডিকোড করা, ত্রুটি := url.QueryUnescape(এনকোড করা)
যদি ভুল হয়!= শূন্য {
fmt. Println('
ডিকোডিং ত্রুটি৷ : ', ভুল)
ফিরে
}
fmt.Println(ডিকোড করা)
}

এটি নিম্নরূপ ডিকোড করা URL স্ট্রিংটি ফেরত দেবে:

https://demo.elastic.co/cookie/index.html?goto=/app/apm&action=none

পদ্ধতি 2: Url.Values ​​ব্যবহার করা

যদি আমাদের একটি ক্যোয়ারী স্ট্রিং থাকে এবং আমরা এটিকে কী-মান জোড়ায় ডিকোড করতে চাই, তাহলে আমরা 'url.ParseQuery' ফাংশনের সাথে 'url.Values' টাইপ ব্যবহার করতে পারি।

প্যাকেজ প্রধান
আমদানি (
'fmt'
'নেট/ইউআরএল'
)
ফাংশন প্রধান () {
queryString := 'ক্রিয়া=কিছুই নয়&goto=%2Fapp%2Fapm'
মান , ভুল := url . পার্সকোয়েরি ( queryString )
যদি ভুল != শূন্য {
fmt . Println ( 'ক্যোয়ারী পার্স করার সময় ত্রুটি:' , ভুল )
ফিরে
}
কর্ম := মান . পাওয়া ( 'কর্ম' )
যাও_ := মান . পাওয়া ( 'যাও' )
fmt . Println ( 'কর্ম:' , কর্ম )
fmt . Println ( 'যাও:' , যাও_ )
}

আউটপুট স্ট্রিং:

কর্ম : কোনটি

যাও : / অ্যাপ / এপিএম

উপসংহার

এই টিউটোরিয়ালে, আমরা যতটা সম্ভব দক্ষতার সাথে ইউআরএল এনকোডিং এবং ডিকোডিং সঞ্চালনের জন্য গো ইকোসিস্টেমে নেট/ইউআরএল প্যাকেজ ব্যবহার করার বিষয়ে সমস্ত কিছু শিখেছি।