Tweġiba li tasal permezz ta' proxy tista' tirritorna Location relattiv:

Location: ../new/

L-HTTP modern jippermetti referenza URI hawn. Issolviha fir-rigward tal-URL li pproduċiet it-tweġiba. Jekk dik l-URL kienet https://docs.example/catalog/old/, ir-referenza ta' fuq tidentifika https://docs.example/catalog/new/. L-isem tal-host tal-proxy mhuwiex il-bażi.

Għal talbiet Python urllib ordinarji, uża l-handler tar-ridirezzjoni tiegħu minflok ma tgħaqqad stringi madwar il-punt tat-tmiem tal-proxy:

opener = build_opener(ProxyHandler({
    "https": "http://proxy.example:8080",
}))
with opener.open("https://docs.example/catalog/old/",
                 timeout=15) as response:
    final_url = response.geturl()

Għal din it-talba għal dokument pubbliku mingħajr awtentikazzjoni tal-proxy, kandidat HTTP mill-lista tal-proxy HTTP jista' jissostitwixxi l-punt tat-tmiem eżempju meta r-rotta tkun permessa. Il-klassijiet ġejjin minn urllib.request. Il-handler normali tiegħu jsegwi ridirezzjonijiet appoġġjati fil-limiti tiegħu. final_url jiddeskrivi l-URL finali tar-riżorsa, mhux l-intermedjarju użat biex tintlaħaq.

L-ewwel issolvi, imbagħad agħżel ir-rotta li jmiss

Ridirezzjoni tista' tbiddel il-host jew l-iskema tad-destinazzjoni. Għalhekk politika tal-proxy bbażata fuq id-destinazzjoni trid tivvaluta wkoll dik l-URL il-ġdida. Rotta li ħadmet għall-ewwel host forsi mhix ir-rotta għal dak li jmiss.

Meta timplimenta l-ġestjoni tar-ridirezzjonijiet int stess, uża soluzzjoni ta' referenza URI bi ġestjoni ta' segmenti tal-punt. Żomm ir-regoli tal-metodu tal-kodiċi tal-istat attwali u imponi limitu ta' ridirezzjoni. Iż-żieda ta' Location ma' isem host mhijiex sostitut għal dak l-algoritmu tas-soluzzjoni.

Jekk ridirezzjoni tfalli, żomm l-URL mitluba, l-istat tat-tweġiba, il-valur Location u l-URL li jmiss solvuta. Dawn l-erba' valuri normalment juru jekk il-falliment jappartjenix għall-kostruzzjoni tal-URL jew għall-konnessjoni mċekkja wara.

Artikli relatati