windows - আমি কিভাবে নিজের ইউআরএল প্রোটোকল তৈরি করব?(যেমনঃ://...)



url facebook (6)

আপনি সত্যিই যেমন কোন নিবন্ধন করতে হবে না। আমি অনেক প্রোগ্রাম দেখেছি, যেমন এমুলে, তাদের নিজস্ব প্রোটোকল স্পেসিফায়ার তৈরি করে (যেটি আমি এটি বলে মনে করি)। তারপরে, আপনি মূলত রিকোয়েস্টে কিছু মান নির্ধারণ করতে চান যা প্রোগ্রামটি প্রোটোকলের পরিচালনা করে। প্রোটোকল স্পেসিফিকেশনের কোনও অফিসিয়াল রেজিস্ট্রি থাকলে আমি নিশ্চিত নই। আপনি যদি নিজের ব্রাউজার থেকে আপনার অ্যাপ্লিকেশন খুলতে চান তবে আপনার নিজস্ব অ্যাপ্লিকেশনের জন্য নিজের প্রোটোকল স্পেসিফায়ার তৈরি থেকে আপনাকে থামাতে সত্যিই অনেক কিছু নেই।

আমি দেখেছি:

  • http://www...
  • ftp://blah.blah...
  • file://blah.blah...
  • unreal://blah.blah...
  • mailto://blah.blah...

যে প্রথম বিভাগটি আপনি http এবং যেমন বলা হয় কি?

আমি কি আমার নিজের নিবন্ধন করতে পারি?


Answer #1

একটি প্রোটোকল?

আমি এটি পেয়েছি, এটি একটি কম্পিউটারের জন্য একটি স্থানীয় সেটিং বলে মনে হচ্ছে ...

http://kb.mozillazine.org/Register_protocol


Answer #2

এটা প্রোটোকল বলা হয়। আপনার নিজস্ব প্রোটোকল তৈরি থেকে আপনাকে বাধা দেয় এমন একমাত্র জিনিস আপনাকে করতে হবে:

  1. প্রোটোকল বোঝে এমন কোনও ব্রাউজার বা ব্যবহারকারীর এজেন্ট লিখুন, এটির URL ফর্ম এবং প্রকৃত তথ্য বিন্যাসে উভয়ই
  2. যে প্রোটোকল বুঝতে একটি সার্ভার লিখুন
  3. পছন্দসইভাবে, প্রোটোকলের জন্য একটি স্পেসিফিকেশন আছে যাতে ব্রাউজার এবং সার্ভার একসঙ্গে কাজ করতে পারে।

উইন্ডোজ # 1 সত্যিই সহজ করে তোলে, অনেক ক্ষেত্রে এটি আসলেই আপনার দরকার। যেমন:

একটি ইউআরএল প্রোটোকল একটি অ্যাপ্লিকেশন নিবন্ধন


Answer #3

এটি প্রতিটি ব্রাউজারের জন্য ভিন্ন, IE এবং উইন্ডোগুলিতে যা আপনাকে প্লাগ করার যোগ্য প্রোটোকল হ্যান্ডলার বলে তৈরি করতে হবে।

নিম্নরূপ প্রাথমিক ধাপগুলি:

  1. IInternetProtocol ইন্টারফেস বাস্তবায়ন।
  2. IInternetProtocolRoot ইন্টারফেস বাস্তবায়ন।
  3. IClassFactory ইন্টারফেস বাস্তবায়ন।
  4. ঐচ্ছিক। IInternetProtocolInfo ইন্টারফেস বাস্তবায়ন। HTTP প্রোটোকলের জন্য সহায়তা লেনদেন হ্যান্ডলার দ্বারা সরবরাহ করা হয়।
  5. যদি IInternetProtocolInfo বাস্তবায়িত হয়, তবে PARSE_SECURITY_URL এবং PARSE_SECURITY_DOMAIN এর জন্য সহায়তা প্রদান করুন যাতে URL সুরক্ষা অঞ্চল পরিচালক সঠিকভাবে সুরক্ষা পরিচালনা করতে পারে। আপনার প্রোটোকল হ্যান্ডলার জন্য কোড লিখুন।
  6. BINDF_NO_UI এবং BINDF_SILENTOPERATION এর জন্য সমর্থন প্রদান করুন।
  7. HKEY_CLASSES_ROOT \ PROTOCOLS \ হ্যান্ডলারের অধীনে রেজিস্ট্রিতে আপনার প্রোটোকল হ্যান্ডলারের জন্য একটি উপকি যোগ করুন।
  8. উপরির অধীনে একটি স্ট্রিং মান, CLSID তৈরি করুন এবং আপনার প্রোটোকল হ্যান্ডলারের CLSID এ স্ট্রিং সেট করুন।

উইন্ডোজ পার্শ্বের আরও বিস্তারিত জানার জন্য MSDN এ অ্যাসিঙ্ক্রোনাস প্লাগযোগ্য প্রোটোকলগুলি দেখুন। উইন্ডোজ এসডিকে একটি নমুনা আছে।

একটি দ্রুত গুগল এছাড়াও কোড প্রজেক্টে এই নিবন্ধটি দেখিয়েছে: http://www.codeproject.com/KB/IP/DataProtocol.aspx

অবশেষে, একটি নিরাপত্তা লোক হিসাবে আমি এই কোড কঠোর যুদ্ধ করা প্রয়োজন যে বাতলান আছে। এটি একটি উচ্চ ঝুঁকিতে রয়েছে কারণ এটি নির্ভরযোগ্যভাবে পরিচালনা করার জন্য আপনি এটি পরিচালিত কোডে করতে পারবেন না এবং C ++ এ এটি করতে হবে (আমার মনে হয় আপনি VB6 ব্যবহার করতে পারেন)। আপনাকে অবশ্যই এটি করতে হবে কিনা তা আপনাকে অবশ্যই বিবেচনা করা উচিত এবং যদি আপনি তা করেন তবে এটি সাবধানে ডিজাইন করুন এবং এটি নিরাপদে কোড করুন। কোনও পৃষ্ঠার লিঙ্কটি সহ কেবলমাত্র কোনও আক্রমণকারী আপনার দ্বারা প্রেরিত সামগ্রীর নিয়ন্ত্রণ করতে পারে। উদাহরণস্বরূপ, যদি আপনার একটি সহজ বাফার ওভারফ্লো থাকে তবে কেউ এটিকে আরও ভাল করে না: <a href="custom:foooo{insert long string for buffer overflow here}"> Click me for free porn</a>

Strcfe এবং VC8 এবং উপরের কম্পাইলার অন্তর্ভুক্ত নতুন নিরাপদ সিআরটি পদ্ধতি ব্যবহার করে দৃঢ়ভাবে বিবেচনা। http://blogs.msdn.com/michael_howard/archive/2006/02/27/540123.aspx দেখুন যদি আপনার কোন ধারণা না থাকে যে আমি কী বলছি।


Answer #4

প্রথম বিভাগটি একটি প্রোটোকল বলা হয় এবং হ্যাঁ আপনি নিজের নিবন্ধন করতে পারেন। উইন্ডোজ (যেখানে আমি ধরে নিচ্ছি যে আপনি এটি করছেন C # ট্যাগ - দুঃখিত মোনো ভক্ত), এটি রেজিস্ট্রি এর মাধ্যমে সম্পন্ন হয়েছে।


Answer #5

বেশিরভাগ Microsoft পণ্যগুলির জন্য (ইন্টারনেট এক্সপ্লোরার, অফিস, "ওপেন ফাইল" ডায়ালগ ইত্যাদি) আপনি যথাযথ উপসর্গটি খোলে URI যখন চালানোর জন্য একটি অ্যাপ্লিকেশন নিবন্ধন করতে পারেন। এটি আরো সাধারণ explanation একটি অংশ - আপনার নিজের প্রোটোকলটি কিভাবে প্রয়োগ করবেন।

মোজিলার জন্য here ব্যাখ্যা, জাভা - here





protocol-handler