CFNetworkCopyProxiesForURL திருப்பித் தரும் PAC URL-களை மதிப்பிடுங்கள்
PAC முகவரியைப் ப்ராக்சியின் இறுதிப் புள்ளியாகக் கருதாமல், CFNetwork-இன் தானியங்கிப் ப்ராக்சி உள்ளமைவு முடிவுகளை இலக்குக்கேற்ற பாதைகளாக மாற்றுங்கள்.
உங்கள் பயன்பாடு ஒரு வலைத்தளத்தை எப்படி அடைவது என்று CFNetwork-ஐக் கேட்டு .pac-ல் முடியும் URL-ஐப் பெறுகிறது. அந்த ஹோஸ்ட்பெயரை socket இணைப்பில் வைப்பது தவறான வழி: அது ஒரு உள்ளமைவு ஸ்கிரிப்டைக் குறிக்கிறது.
CFNetworkCopyProxiesForURL இலக்கு URL-க்கான வரிசைப்படுத்தப்பட்ட அகராதிகளின் வரிசையைத் திருப்பித் தருகிறது. இறுதிப் புள்ளி புலங்களைப் படிப்பதற்கு முன் kCFProxyTypeKey-ஐச் சரிபார்க்கவும். kCFProxyTypeAutoConfigurationURL வகை அகராதி kCFProxyAutoConfigurationURLKey-ஐ வழங்குகிறது, அதற்கு மற்றொரு மதிப்பீட்டு படி தேவை.
- கணினியின் தற்போதைய ப்ராக்சி அமைப்புகளைப் பெற்று உண்மையான இலக்கு URL-க்கான பாதைகளைக் கோருங்கள்.
- ஒரு முடிவு PAC URL-ஐக் குறிப்பிடும்போது, அதே இலக்குக்கு அந்த ஸ்கிரிப்டை மதிப்பிடுங்கள்.
- கிடைக்கும் வேட்பாளர்களின் வகைகளையும் இறுதிப் புள்ளிகளையும் படியுங்கள். HTTP ப்ராக்சி, SOCKS ப்ராக்சி மற்றும் நேரடிப் பாதைக்கு வெவ்வேறு இணைப்புக் கையாளுதல் தேவை.
- அனுமதிக்கப்பட்ட தோல்வி மற்றும் மாற்று நடத்தையைப் பயன்படுத்தும்போது வேட்பாளர்களின் வரிசையைப் பேணுங்கள்.
CFNetworkExecuteProxyAutoConfigurationURL ஸ்கிரிப்டை ஒத்திசைவற்ற முறையில் பதிவிறக்கி மதிப்பிடுகிறது. அதன் உடனடி திருப்பு மதிப்பு ஒரு run loop மூலமாகும். அந்த மூலத்தைத் திட்டமிடுங்கள்; வேலை முடிந்த பிறகு callback மதிப்பீட்டு முடிவையோ பிழையையோ வழங்கும். மூலத்தை உருவாக்கி காலி முடிவு மாறியை உடனே படிப்பது எதற்கும் காத்திருக்காது. செயல்பாட்டை ரத்து செய்ய வேண்டும் என்றால் மூலத்தைச் செல்லாததாக்குங்கள்.
இலக்கு URL-ஐ தேடலுடன் இணைத்து வைத்திருங்கள். PAC ஸ்கிரிப்ட் இரு ஹோஸ்ட்களுக்கு வெவ்வேறு பாதைகளைத் தேர்ந்தெடுக்கலாம், எனவே தீர்க்கப்பட்ட ஒரு ப்ராக்சியை அடுத்தடுத்த ஒவ்வொரு இலக்குக்கும் பதிலாகச் சேமிப்பது ஸ்கிரிப்டின் கொள்கையை மாற்றுகிறது. அதுபோலவே, நேரடி வேட்பாளர் வெளிப்படையான பாதை, காணாமற்போன ப்ராக்சி ஹோஸ்ட்பெயர் அல்ல.
தனிப்பயன் இடமாற்றம் கணினி அமைப்புகளை விளக்க வேண்டியிருக்கும்போது இந்த API-கள் பயனுள்ளவை. அவை அந்த இடமாற்றத்திற்கான அடுத்த ப்ராக்சி நெறிமுறையைச் செயல்படுத்துவதில்லை, மேலும் தேடல் Keychain-இலிருந்து கடவுச்சொற்களைப் பெறுவதில்லை. macOS-இல், Keychain-இல் ப்ராக்சி சான்றுகளைத் தனியாகப் பொருத்துங்கள்.