আপনার অ্যাপ্লিকেশন CFNetwork-কে জিজ্ঞাসা করে একটি ওয়েবসাইটে কীভাবে পৌঁছাবে এবং .pac দিয়ে শেষ হওয়া একটি URL পায়। সেই হোস্টনেমটি সকেট সংযোগে বসানো একটি ভুল বাঁক: এটি একটি কনফিগারেশন স্ক্রিপ্ট চিহ্নিত করে।

CFNetworkCopyProxiesForURL লক্ষ্য URL-এর জন্য অভিধানের একটি ক্রমবদ্ধ অ্যারে ফেরত দেয়। এন্ডপয়েন্ট ফিল্ড পড়ার আগে kCFProxyTypeKey পরীক্ষা করুন। kCFProxyTypeAutoConfigurationURL ধরনের অভিধান kCFProxyAutoConfigurationURLKey সরবরাহ করে, যার জন্য আরও একটি মূল্যায়ন ধাপ প্রয়োজন।

  1. বর্তমান সিস্টেম প্রক্সি সেটিংস নিন এবং প্রকৃত গন্তব্য URL-এর জন্য রুট চান।
  2. যখন কোনো ফলাফল PAC URL নির্দেশ করে, একই গন্তব্যের জন্য সেই স্ক্রিপ্টটি মূল্যায়ন করুন।
  3. প্রাপ্ত প্রার্থীর ধরন ও এন্ডপয়েন্ট পড়ুন। একটি HTTP প্রক্সি, একটি SOCKS প্রক্সি এবং সরাসরি রুটের জন্য ভিন্ন সংযোগ পরিচালনা প্রয়োজন।
  4. অনুমোদিত ব্যর্থতা ও ফলব্যাক আচরণ প্রয়োগ করার সময় প্রার্থীদের ক্রম সংরক্ষণ করুন।

CFNetworkExecuteProxyAutoConfigurationURL স্ক্রিপ্টটি ডাউনলোড করে অ্যাসিনক্রোনাসভাবে মূল্যায়ন করে। এর তাৎক্ষণিক রিটার্ন মান একটি রান লুপ সোর্স। সেই সোর্সটি সময়সূচিতে রাখুন; কাজ শেষ হলে কলব্যাক মূল্যায়নের ফলাফল বা ত্রুটি দেয়। সোর্স তৈরি করে সাথে সাথে একটি খালি ফলাফল ভেরিয়েবল পড়া কিছুই অপেক্ষা করে না। অপারেশন বাতিল করতে হলে সোর্সটি অকার্যকর করুন।

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

এই API-গুলো কাজে লাগে যখন একটি কাস্টম ট্রান্সপোর্টকে সিস্টেম সেটিংস ব্যাখ্যা করতে হয়। এগুলো সেই ট্রান্সপোর্টের পরবর্তী প্রক্সি প্রোটোকল প্রয়োগ করে না, এবং লুকআপ Keychain থেকে পাসওয়ার্ড আনে না। macOS-এ, Keychain-এ প্রক্সি ক্রেডেনশিয়াল আলাদাভাবে মিলিয়ে নিন।

সম্পর্কিত নিবন্ধ