urllib3 ProxyManager: proxy_headers-এ Basic শংসাপত্র পাঠানো
ProxyManager.proxy_headers-এর মাধ্যমে Basic প্রক্সি শংসাপত্র দিন, যাতে HTTPS CONNECT চলাকালে তা পাওয়া যায় এবং গন্তব্য হেডার না হয়ে যায়।
ProxyManager-এ মধ্যস্থতাকারীর কাছে পাঠানো হেডারের জন্য আলাদা proxy_headers আর্গুমেন্ট আছে। Basic প্রমাণীকরণ গ্রহণ করে এমন প্রক্সির জন্য:
import urllib3
proxy_headers = urllib3.make_headers(
proxy_basic_auth=f'{proxy_user}:{proxy_password}'
)
with urllib3.ProxyManager(
'http://proxy.example:8080',
proxy_headers=proxy_headers,
timeout=urllib3.Timeout(connect=5, read=10),
) as http:
response = http.request('GET', 'https://service.example/data')
print(response.status)
সাধারণ HTTP গন্তব্যের জন্য এই হেডারগুলি প্রেরিত অনুরোধের সঙ্গে প্রক্সিতে যায়। CONNECT ব্যবহার করা HTTPS গন্তব্যের ক্ষেত্রে এগুলি টানেল স্থাপনের অংশ, প্রতিটি এনক্রিপ্ট করা ওয়েবসাইট অনুরোধের নয়।
সাধারণ headers আর্গুমেন্ট গন্তব্যের অনুরোধ হেডার বর্ণনা করে। এই প্রক্সি প্রমাণীকরণ অন্য প্রাপকের জন্য। সেখানে প্রক্সির অ্যাকাউন্ট রাখা আগের CONNECT বিনিময় কনফিগার করার সমতুল্য নয়।
make_headers Basic হেডারের মান তৈরি করে। এটি NTLM নিয়ে দরকষাকষি করে না, সমর্থিত স্কিম স্বয়ংক্রিয়ভাবে বেছে নেয় না, আর প্রক্সি সেই অ্যাকাউন্ট গ্রহণ করে তা প্রমাণও করে না।
TLS লিসেনারযুক্ত প্রক্সি আলাদা প্রক্সি TLS কনটেক্সট যোগ করে। উপরের http:// এন্ডপয়েন্টটি ইচ্ছাকৃতভাবে এমন সাধারণ HTTP লিসেনার বর্ণনা করে যা টানেলের মধ্য দিয়ে HTTPS গন্তব্য বহন করে।