Преносливиот компјутер е на канцелариски Wi-Fi, Ethernet кабелот е поврзан, а VPN адаптерот сè уште е присутен. Вашата PAC датотека прашува myIpAddress() на која мрежа е. Тоа звучи разумно сè додека не добие адреса што му припаѓа на погрешниот адаптер.

Деталот што недостасува е дека функцијата враќа една адреса. Таа не е попис на секој интерфејс и не контактира веб-страница за да открие вашата јавна IP. Приватна адреса, или дури loopback резервна опција, не ви кажува која излезна адреса ќе ја користи барањето преку прокси.

Еден одговор за машина со неколку адреси

Изборот на мрежен интерфејс и припаѓа на PAC имплементацијата. Стариот совет да ги прередите Windows адаптерите може да опишува одредена верзија на прелистувач и оперативен систем, но тоа е лошо универзално решение. Chromium го документира сопствениот алгоритам за избор и ограничувањата при повеќе мрежи; друг клиент не мора да го направи истиот избор.

Започнете со идентификување на вредноста што погодениот прелистувач навистина ја доставил, потоа споредете ја со проверките на подмрежата во вашата скрипта. Направете го тоа одделно на Wi-Fi, Ethernet и одобрената VPN врска. Адреса што изгледа изненадувачки може сè уште да ги задоволува правилата на имплементацијата.

Направете одлуката да зависи од помалку претпоставки

Каде што е практично, изберете прокси според името на хостот на дестинацијата, наместо според претпоставен клиентски интерфејс. Ако е потребно откривање на мрежа, користете намерен, документиран сигнал што го контролира вашата организација. Откривањето преку DNS исто така има режими на неуспех, затоа дефинирајте што се случува кога тој сигнал не е достапен.

Некои имплементации нудат myIpAddressEx(). Проверете ја поддршката и форматот на враќање пред да го усвоите; тоа не е директна замена за една IPv4 низа. На крајот, независно проверете ја добиената рута на барањето. Правилното препознавање на канцелариската подмрежа и достигнувањето на предвиденото прокси се два одделни исхода.

Поврзани статии