דיין פּראָגראַם פֿרעגט CFNetwork ווי אַזוי צו דערגרייכן אַ וועבזײַטל, און באַקומט אַ URL וואָס ענדיקט זיך מיט .pac. אַרײַנשטעלן דעם נאָמען אין דער socket־פֿאַרבינדונג איז אַ פֿעלער: ער באַצייכנט אַ סקריפּט פֿון קאָנפֿיגוראַציע, נישט דעם פּראָקסי אַליין.

CFNetworkCopyProxiesForURL גיט אומקער אַ געאָרדנטע ריי פֿון ווערטערביכער פֿאַר דער ציל־URL. קוק איבער kCFProxyTypeKey פֿאַר דו לייענסט די פֿעלדער פֿונעם ענדפּונקט. אַ ווערטערבוך פֿון סאָרט kCFProxyTypeAutoConfigurationURL גיט kCFProxyAutoConfigurationURLKey, וואָס פֿאָדערט נאָך אַ שריט פֿון אָפּשאַצונג.

  1. באַקום די איצטיקע פּראָקסי־איינשטעלונגען פֿון סיסטעם און בעט וועגן צו דער טאַקע ציל־URL.
  2. ווען אַ רעזולטאַט באַצייכנט אַ PAC־URL, שאַץ אָפּ דעם סקריפּט פֿאַר דער זעלבער דעסטינאַציע.
  3. לייען די סאָרטן און ענדפּונקטן פֿון די קאַנדידאַטן. HTTP־פּראָקסי, SOCKS־פּראָקסי און אַ גלייכוועג פֿאָדערן אַנדערש באַהאַנדלונג פֿון פֿאַרבינדונג.
  4. האַלט די רייִערפֿאָלג פֿון די קאַנדידאַטן בשעת איר פֿירט אײַן דעם ערלויבטן פֿעלער־און רעזערוו־אויפֿפֿיר.

CFNetworkExecuteProxyAutoConfigurationURL לאָדט אַראָפּ און שאַץ אָפּ דעם סקריפּט אַסינכראָן. זײַן תּיכּף־צוריקגעב־ווערט איז אַ מקור פֿון run loop. פּלאַן דעם מקור; דער צוריקרוף גיט די אָפּשאַצונג־רעזולטאַט אָדער דעם פֿעלער נאָך דער אַרבעט ענדיקט זיך. שאַפֿן דעם מקור און גלייך לייענען אַ ליידיקע רעזולטאַט־וואַריאַבל וואַרט אויף גאָרנישט. מאַך דעם מקור אומגילטיק אויב די אָפּעראַציע מוז אָפּגעזאָגט ווערן.

האַלט די ציל־URL פֿאַרבונדן מיט דער זוך. אַ PAC־סקריפּט קען אויסקלײַבן אַנדערע וועגן פֿאַר צוויי האָסטן, דערפֿאַר ענדערט אַוועקלייגן איין אויסגעלייזטן פּראָקסי ווי דער ענטפֿער פֿאַר יעדער ווײַטערדיקער דעסטינאַציע די פּאָליטיק פֿונעם סקריפּט. ענלעך איז אַ דירעקטער קאַנדידאַט אַ קלאָרער וועג, נישט אַ פֿעלנדיקער פּראָקסי־האָסטנאָמען.

די API־ן זענען נוצלעך ווען אַ ספּעציעלער טראַנספּאָרט מוז איבערטייטשן די סיסטעם־איינשטעלונגען. זיי פֿירן נישט אײַן דעם ווײַטערדיקן פּראָקסי־פּראָטאָקאָל פֿאַר דעם טראַנספּאָרט, און די זוך ציט נישט קיין פּאַראָלן פֿון Keychain. אויף macOS צוטרעף באַזונדער די פּראָקסי־באַשײַנונג אין Keychain.

פֿאַרבונדענע אַרטיקלען