Dalam PAC, shExpMatch menggunakan kad bebas gaya shell. Untuk subdomain example.com:

if (shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

Gunakan titik akhir HTTP yang dipilih dasar dalam nilai pulangan ini; senarai proksi HTTP menyediakan calon untuk laluan awam yang dibenarkan. Tanda bintang sepadan dengan urutan aksara. Ia bukan pengendali ulangan ungkapan nalar, jadi .*example.com yang kelihatan seperti regex mengubah maksudnya.

Sertakan nama induk yang tepat secara eksplisit apabila ia tergolong dalam dasar:

if (host === "example.com" || shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

Menggunakan *example.com sebaliknya juga akan menerima nama yang berakhir dengan huruf itu tanpa titik pemisah. Itu meluaskan set melebihi sempadan domain yang dimaksudkan.

Asas kad bebas PAC mudah alih merangkumi * dan ?; kelas aksara berbeza mengikut pelaksanaan. Regex JavaScript sebaliknya menggunakan test() dan peraturan penambat serta escape sendiri.

Padankan input yang dimaksudkan. host ialah nama hos, manakala url merangkumi skema dan mungkin telah disanitasi. Peraturan domain tidak sepatutnya bergantung secara kebetulan pada laluan yang tidak pernah disediakan pelayar.

Artikel berkaitan