Cache-Control: no-cache ସହିତ ପ୍ରକ୍ସି ମାଧ୍ୟମରେ ଡାଉନଲୋଡ୍ ପୁନଃ ଯାଞ୍ଚ କରନ୍ତୁ
ଡାଉନଲୋଡ୍ URL ନ ବଦଳାଇ ଯାଞ୍ଚିତ ପ୍ରତିକ୍ରିୟା ମାଗନ୍ତୁ ଏବଂ ପୁନଃ ଯାଞ୍ଚକୁ ସଂରକ୍ଷଣ ନିଷେଧ ସହିତ ମିଶାନ୍ତୁ ନାହିଁ।
ଡାଉନଲୋଡ୍ URL ଠିକ୍ ଅଛି, କିନ୍ତୁ ଏକ ସେୟାର୍ ହୋଇଥିବା ପ୍ରକ୍ସିରେ ଏବେ ବି ସଂରକ୍ଷିତ ପ୍ରତିକ୍ରିୟା ଅଛି। ଯଦି କାର୍ଯ୍ୟକୁ ମୂଳ ସହିତ ଯାଞ୍ଚିତ ପ୍ରତିକ୍ରିୟା ଦରକାର, ତେବେ ସେହି ସର୍ତ୍ତ ଅନୁରୋଧ ଉପରେ ରଖନ୍ତୁ:
from urllib.request import ProxyHandler, Request, build_opener
import shutil
opener = build_opener(ProxyHandler({
"https": "http://proxy.example:8080",
}))
request = Request(download_url, headers={"Cache-Control": "no-cache"})
with opener.open(request, timeout=15) as response:
shutil.copyfileobj(response, output)
ଏହି ଅଂଶ ଧରି ନେଇଛି ଯେ ଆପ୍ଲିକେସନ୍ ପାଖରେ ବାଇନାରୀ ଆଉଟପୁଟ୍ ଷ୍ଟ୍ରିମ୍ ଅଛି ଏବଂ ଏହା HTTPS download_url ଯୋଗାଏ। ପ୍ରକ୍ସି ପ୍ରମାଣୀକରଣ ବିନା ଅନୁମତିପ୍ରାପ୍ତ ସାର୍ବଜନୀନ ଡାଉନଲୋଡ୍ ଚେଷ୍ଟା କରିବାକୁ, opener ରେ HTTP ପ୍ରକ୍ସି ତାଲିକାରୁ HTTP ଏଣ୍ଡପଏଣ୍ଟ ପ୍ରାର୍ଥୀ ବ୍ୟବହାର କରନ୍ତୁ; ଅନୁରୋଧର କ୍ୟାସ୍ ସର୍ତ୍ତ ସେହିପରି ରହେ। ଏହା ମୂଳ ଉତ୍ସ URL ରଖେ ଏବଂ ଅନୁରୋଧ ପଥରେ ଥିବା କ୍ୟାସ୍ଗୁଡ଼ିକୁ ପୁନଃ ବ୍ୟବହାର ପୂର୍ବରୁ ଯାଞ୍ଚ କରିବାକୁ କହେ।
ଯାଞ୍ଚ ସଂରକ୍ଷିତ ବାଇଟଗୁଡ଼ିକୁ ପୁନଃ ବ୍ୟବହାର କରିପାରେ
no-cache ଗ୍ରହଣ କରୁଥିବା ଏକ ସମ୍ମତ କ୍ୟାସ୍ ମୂଳ ସହିତ ସଫଳ ଯାଞ୍ଚ ବିନା ସଂରକ୍ଷିତ ପ୍ରତିକ୍ରିୟାରୁ ଏହି ଅନୁରୋଧ ପୂରଣ କରିପାରିବ ନାହିଁ। ମୂଳ ନିଶ୍ଚିତ କରିପାରେ ଯେ ସଂରକ୍ଷିତ ପ୍ରତିନିଧିତ୍ୱ ଏବେ ବି ବୈଧ, ତେଣୁ କାର୍ଯ୍ୟକୁ ମୂଳରୁ ଅପରିବର୍ତ୍ତିତ ଫାଇଲ୍ ପୁନଃ ପଠାଇବାକୁ ପଡ଼ିବ ନାହିଁ।
ଅନୁରୋଧର max-age=0 ବୟସ ସୀମା ପ୍ରକାଶ କରେ। ଆପ୍ଲିକେସନ୍ ସେହି ସୀମାଠାରୁ ପୁରୁଣା ନଥିବା ପ୍ରତିକ୍ରିୟା ଚାହିଁଲେ ଏହା ଉପଯୋଗୀ, କିନ୍ତୁ ଏହା ସଂରକ୍ଷଣ ନିଷେଧ ନୁହେଁ। ଏବେ ତିଆରି ହୋଇଥିବା ପ୍ରତିକ୍ରିୟା ଏହାକୁ ପୂରଣ କରିପାରେ।
ଏକ ଅନିୟମିତ କ୍ୱେରୀ ପାରାମିଟର ଯୋଡ଼ିବା ଏକ ଭିନ୍ନ ଲକ୍ଷ୍ୟ URI ମାଗେ। ଏହା ଆଉ ଏକ କ୍ୟାସ୍ ଏଣ୍ଟ୍ରି ସୃଷ୍ଟି କରିପାରେ କିମ୍ବା ଆପ୍ଲିକେସନର ପ୍ରତିକ୍ରିୟା ମଧ୍ୟ ବଦଳାଇପାରେ। କ୍ୱେରୀ ପାରାମିଟର କେବଳ ସେତେବେଳେ ବ୍ୟବହାର କରନ୍ତୁ ଯେତେବେଳେ ଏହା ଉତ୍ସର ଉଦ୍ଦିଷ୍ଟ ଇଣ୍ଟରଫେସର ଅଂଶ।
ସାଧାରଣ HTTPS CONNECT ପାଇଁ, ଟନେଲିଂ ପ୍ରକ୍ସି TLS ଭିତରେ ଏହି ହେଡର ଦେଖିପାରିବ ନାହିଁ। ନୀତି ତଥାପି ମୂଳ ଏବଂ ଡିକ୍ରିପ୍ଟ ହୋଇଥିବା HTTP ବିନିମୟ ସମ୍ଭାଳୁଥିବା କ୍ୟାସ୍ ପର୍ଯ୍ୟନ୍ତ ପହଞ୍ଚିପାରେ। ସଂରକ୍ଷିତ ପ୍ରତିକ୍ରିୟାକୁ ଟନେଲକୁ ଆରୋପ କରିବା ପୂର୍ବରୁ ଏହା ପ୍ରକୃତରେ କେଉଁଠି ଅଛି ଯାଞ୍ଚ କରନ୍ତୁ।