તમારી એપ્લિકેશન CFNetwork ને પૂછે છે કે વેબસાઇટ સુધી કેવી રીતે પહોંચવું અને .pac થી સમાપ્ત થતું URL મેળવે છે. તે હોસ્ટનામ સોકેટ કનેક્શનમાં મૂકવું ખોટો માર્ગ છે: તે રૂપરેખાંકન સ્ક્રિપ્ટ ઓળખે છે.

CFNetworkCopyProxiesForURL લક્ષ્ય URL માટે ક્રમાંકિત શબ્દકોશોની શ્રેણી પરત કરે છે. એન્ડપોઇન્ટ ક્ષેત્રો વાંચતા પહેલા kCFProxyTypeKey તપાસો. kCFProxyTypeAutoConfigurationURL પ્રકારનો શબ્દકોશ kCFProxyAutoConfigurationURLKey પૂરો પાડે છે, જેને બીજા મૂલ્યાંકન પગલાની જરૂર છે.

  1. સિસ્ટમની વર્તમાન પ્રોક્સી સેટિંગ્સ મેળવો અને વાસ્તવિક ગંતવ્ય URL માટે માર્ગો માંગો.
  2. જ્યારે પરિણામ PAC URL નો સંદર્ભ આપે, ત્યારે તે સ્ક્રિપ્ટનું તે જ ગંતવ્ય માટે મૂલ્યાંકન કરો.
  3. પરિણામી ઉમેદવારોના પ્રકારો અને એન્ડપોઇન્ટ વાંચો. HTTP પ્રોક્સી, SOCKS પ્રોક્સી અને સીધો માર્ગને અલગ કનેક્શન હેન્ડલિંગની જરૂર છે.
  4. મંજૂર નિષ્ફળતા અને ફોલબેક વર્તન લાગુ કરતી વખતે ઉમેદવારોનો ક્રમ જાળવો.

CFNetworkExecuteProxyAutoConfigurationURL સ્ક્રિપ્ટને અસમકાલિક રીતે ડાઉનલોડ અને મૂલ્યાંકન કરે છે. તેનું તાત્કાલિક પરત મૂલ્ય run loop સ્રોત છે. તે સ્રોતનું સમયપત્રક બનાવો; કાર્ય પૂર્ણ થયા પછી કૉલબેક મૂલ્યાંકન પરિણામ અથવા ભૂલ પૂરી પાડે છે. સ્રોત બનાવીને તરત જ ખાલી પરિણામ ચલ વાંચવાથી કંઈપણ રાહ જોતું નથી. જો કામગીરી રદ કરવી હોય તો સ્રોત અમાન્ય કરો.

લક્ષ્ય URL ને શોધ સાથે જોડાયેલ રાખો. PAC સ્ક્રિપ્ટ બે હોસ્ટ માટે અલગ માર્ગો પસંદ કરી શકે છે, તેથી એક ઉકેલાયેલ પ્રોક્સીને દરેક પછીના ગંતવ્ય માટે જવાબ તરીકે સંગ્રહિત કરવાથી સ્ક્રિપ્ટની નીતિ બદલાય છે. તે જ રીતે, સીધો ઉમેદવાર સ્પષ્ટ માર્ગ છે, ગુમ થયેલ પ્રોક્સી હોસ્ટનામ નહીં.

આ API ત્યારે ઉપયોગી છે જ્યારે કસ્ટમ ટ્રાન્સપોર્ટને સિસ્ટમ સેટિંગ્સનું અર્થઘટન કરવાનું હોય. તેઓ તે ટ્રાન્સપોર્ટ માટે પછીનો પ્રોક્સી પ્રોટોકોલ લાગુ કરતા નથી, અને શોધ Keychain માંથી પાસવર્ડ મેળવતી નથી. macOS પર, Keychain માં પ્રોક્સી ક્રેડેન્શિયલને અલગથી મેચ કરો.

સંબંધિત લેખો