Python urllib: HTTP অনুৰোধৰ বাবে Basic প্ৰক্সী প্ৰমাণীকৰণ
Basic HTTP প্ৰক্সী চেলেঞ্জৰ বাবে এটা স্পষ্ট urllib অপেনাৰ সাজি উলিয়াওক, আৰু এই সাধাৰণ HTTP বিনিময়ক HTTPS CONNECT প্ৰমাণীকৰণৰ পৰা পৃথক কৰক।
HTTP প্ৰক্সীৰ পৰা অহা Basic চেলেঞ্জৰ বাবে ProxyBasicAuthHandler ব্যৱহাৰ কৰক। এই সাধাৰণ HTTP উদাহৰণে পথ আৰু একাউণ্ট এটেই অপেনাৰত ৰাখে:
import os
from urllib.request import (
ProxyHandler, ProxyBasicAuthHandler,
HTTPPasswordMgrWithDefaultRealm, build_opener,
)
proxy_url = 'http://proxy.example:8080'
passwords = HTTPPasswordMgrWithDefaultRealm()
passwords.add_password(
None, proxy_url,
os.environ['PROXY_USER'], os.environ['PROXY_PASSWORD'],
)
opener = build_opener(
ProxyHandler({'http': proxy_url}),
ProxyBasicAuthHandler(passwords),
)
with opener.open('http://example.com/', timeout=10) as response:
print(response.status)প্ৰকৃত এণ্ডপইণ্ট আৰু অপাৰেটৰে দিয়া একাউণ্ট ব্যৱহাৰ কৰক। এই হেণ্ডলাৰে প্ৰক্সীৰ চেলেঞ্জৰ বাবে পাছৱৰ্ড মেনেজাৰ ব্যৱহাৰ কৰে; লক্ষ্য কৰা প্ৰক্সী URI আৰু realm মিলাওক। গন্তব্যত Basic প্ৰমাণীকৰণ এ অন্য হেণ্ডলাৰ ব্যৱহাৰ কৰে।
অপেনাৰটো পোনপটীয়াকৈ মাতিলে এই ছেটআপ স্থানীয় হৈ থাকে। অনুৰোধৰ URL ৱেবছাইটটোৱেই থাকি যায়, মধ্যস্থতাকাৰী নহয়। এই স্পষ্ট HTTP পথে Basic বিনিময় এনক্ৰিপ্ট নকৰে।
এই উদাহৰণৰ পৰা HTTPS tunnel সমৰ্থন অনুমান নকৰিব। CONNECTৰ সময়ত 407 ছেটআপৰ সময়ত, সাধাৰণ গন্তব্য প্ৰতিক্ৰিয়াৰ আগতে ঘটে; বাছনি কৰা integration-এ তাতেই প্ৰমাণীকৰণ চম্ভালিব লাগিব। ৱেবছাইটৰ লগইন হেণ্ডলাৰ সলনি কৰিলে সেই আগৰ চেলেঞ্জ ঠিক নহয়।
credential-যুক্ত প্ৰক্সী URL পুৰণি উদাহৰণত পোৱা আন এটা ফৰ্মেট। ব্যৱহাৰ কৰিলে URL delimiter শুদ্ধভাৱে encode কৰক আৰু উৎপন্ন হোৱা গোপন-যুক্ত URL লগৰ পৰা আঁতৰাই ৰাখক।