jsoup ରେ HTTP ପ୍ରକ୍ସି ମାଧ୍ୟମରେ ପୃଷ୍ଠା ଆଣିବା
jsoup ର ଅନୁରୋଧ-ସ୍ତରୀୟ HTTP ପ୍ରକ୍ସି API ବ୍ୟବହାର କରନ୍ତୁ ଏବଂ ଏକାଧିକ କର୍ମୀ ସେସନ ସେଟିଂ ସେୟାର କଲାବେଳେ ଅଲଗା ଅନୁରୋଧ ସୃଷ୍ଟି କରନ୍ତୁ।
jsoup HTTP ପ୍ରକ୍ସି ମାଧ୍ୟମରେ ପୃଷ୍ଠା ଆଣିପାରେ ଏବଂ ସେହି କଲରେ ପ୍ରତିକ୍ରିୟା ବିଶ୍ଳେଷଣ କରିପାରେ:
Document page = Jsoup.connect("https://www.example.com/")
.proxy("proxy.example", 8080)
.get();
ହୋଷ୍ଟନାମ ଏବଂ ପୂର୍ଣ୍ଣସଂଖ୍ୟା ପୋର୍ଟ ପ୍ରକ୍ସି ଚିହ୍ନଟ କରନ୍ତି। ଅନୁମତିପ୍ରାପ୍ତ ସାର୍ବଜନୀନ ପୃଷ୍ଠାର ଅନୁରୋଧ ପାଇଁ ଆପଣଙ୍କ ସେବା କିମ୍ବା HTTP ପ୍ରକ୍ସି ତାଲିକାରୁ ଏକ HTTP ଏଣ୍ଡପଏଣ୍ଟ ଚୟନ କରନ୍ତୁ। connect କୁ ଦିଆଯାଉଥିବା URL ଆପଣ ଚାହୁଁଥିବା ପୃଷ୍ଠା ହୋଇ ରହେ। କେବଳ ଏହି ପଥ ଯୋଡିବା ପାଇଁ HTML କୁ ଅଲଗା URLConnection ସହିତ ଷ୍ଟ୍ରିଙ୍ଗରେ ଡାଉନଲୋଡ କରିବା ଆବଶ୍ୟକ ନାହିଁ।
proxy(String, int) ସେହି ଅନୁରୋଧ ପାଇଁ HTTP ପ୍ରକ୍ସି ଚୟନ କରେ। 1080 ପରି ପୋର୍ଟ ନମ୍ବର ଏହାର ପ୍ରୋଟୋକଲକୁ SOCKS କୁ ବଦଳାଏ ନାହିଁ; ପ୍ରକ୍ସି ଏଣ୍ଡପଏଣ୍ଟ କନଫିଗର ହେଉଥିବା ପ୍ରକାରକୁ କହିବା ଆବଶ୍ୟକ। jsoup java.net.Proxy ଗ୍ରହଣ କରୁଥିବା ଏକ ଓଭରଲୋଡ ମଧ୍ୟ ଦେଇଥାଏ, କିନ୍ତୁ ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ପଥ ପାଇଁ ସମର୍ଥନ ଏବେ ମଧ୍ୟ ବ୍ୟବହୃତ HTTP କାର୍ଯ୍ୟକାରୀତା ଉପରେ ନିର୍ଭର କରେ।
ପ୍ରତ୍ୟେକ କର୍ମୀକୁ ତା'ର ନିଜ ଅନୁରୋଧ ଦିଅନ୍ତୁ
ଅନୁରୋଧ-ସ୍ତରୀୟ ବିକଳ୍ପ ପ୍ରତ୍ୟେକ ଡାଉନଲୋଡ ଚାରିପାଖରେ JVM ସିଷ୍ଟମ ଗୁଣ ବଦଳାଇବା ଅପେକ୍ଷା ସମାନ୍ତରାଳ କାର୍ଯ୍ୟକୁ ସହଜ କରେ। ପରିବର୍ତ୍ତନଶୀଳ ଅନୁରୋଧକୁ ପ୍ରତ୍ୟେକ କର୍ମୀ ପାଇଁ ଅଲଗା ରଖନ୍ତୁ। ଆଧୁନିକ jsoup ନୂଆ ଅନୁରୋଧ ସୃଷ୍ଟି କରୁଥିବାବେଳେ ସେସନର ସେଟିଂ ଏବଂ କୁକି ଭଣ୍ଡାର ସେୟାର କରିପାରେ:
Connection session = Jsoup.newSession();
Document first = session.newRequest()
.url("https://www.example.com/one")
.proxy("proxy-a.example", 8080)
.get();
Document second = session.newRequest()
.url("https://www.example.com/two")
.proxy("proxy-b.example", 8080)
.get();
ଉପରୋକ୍ତ କଲଗୁଡିକ ସ୍ପଷ୍ଟତା ପାଇଁ କ୍ରମିକ ଭାବରେ ଚାଲେ। ଯଦି କାର୍ଯ୍ୟ ଏକସଙ୍ଗେ ବଣ୍ଟାଯାଏ, ଚାଲୁଥିବା ଏକ Connection ଉପରେ ପ୍ରକ୍ସି ବଦଳାଇବା ପରିବର୍ତ୍ତେ ଅନୁରୋଧଗୁଡିକ ସ୍ୱାଧୀନ ଭାବରେ ସୃଷ୍ଟି କରନ୍ତୁ। ସେୟାର କରାଯାଇଥିବା ସେସନ କୁକି ମଧ୍ୟ ସେୟାର କରେ; ବ୍ରାଉଜିଂ ପରିଚୟ ଅଲଗା ରହିବା ଉଚିତ ହେଲେ ଭିନ୍ନ ସେସନ ବ୍ୟବହାର କରନ୍ତୁ।
ଏହି ଇଣ୍ଟରଫେସଗୁଡିକ jsoup 1.21.2 ରେ ଅଛି। କୌଣସି ଆର୍ଗୁମେଣ୍ଟ ନଥିବା newRequest() ଇଣ୍ଟରଫେସ 1.14.1 ରୁ ଆସିଛି, ତେଣୁ ପୁରୁଣା ଆପ୍ଲିକେସନ ସେସନ ଉଦାହରଣ ଗ୍ରହଣ କରିବା ପୂର୍ବରୁ ଏହାର ନିର୍ଭରତା ଯାଞ୍ଚ କରିବା ଉଚିତ।
ପ୍ରମାଣପତ୍ର ପ୍ରମାଣିତ ପ୍ରକ୍ସି ପାଇଁ ଏକ ଅତିରିକ୍ତ ଆବଶ୍ୟକତା। ସଫଳ ପଥ ଚୟନ ଏକ ଖାତା ଯୋଗାଏ ନାହିଁ, ଏବଂ ପ୍ରକ୍ସି ଚ୍ୟାଲେଞ୍ଜ ଗ୍ରହଣ କରିବା ଏହାର ପୋର୍ଟ ସହିତ ସଂଯୋଗ କରିବାରେ ବିଫଳ ହେବାଠାରୁ ଭିନ୍ନ।