ប្រូកស៊ី Session ក្នុង Python Requests និងអាទិភាពបរិស្ថាន
ធ្វើឱ្យផ្លូវ Python Requests អាចទាយបានពេល session.proxies អថេរបរិស្ថាន ជម្រើសសំណើ និង trust_env ធ្វើការជាមួយគ្នា។
បើ session.proxies ចង្អុលទៅចំណុចចុងមួយ តែស្គ្រីបប្រើប្រូកស៊ីរបស់ shell ការផ្តល់វចនានុក្រមដដែលឡើងវិញមិនដោះស្រាយទំនាស់ទេ។ Requests អាចរួមបញ្ចូលការកំណត់ប្រូកស៊ីបរិស្ថានដោយអាទិភាពលើលំនាំដើម Session។ ជ្រើសថា Session គួរបន្តរកការកំណត់ពីបរិស្ថានឬទេ។
រក្សាការស្វែងរកបរិស្ថាន ផ្តល់ផ្លូវក្នុងសំណើ
ផ្ញើតម្លៃច្បាស់លាស់ទៅការហៅនីមួយៗ ដូច Requests ណែនាំដើម្បីជៀសទំនាស់ Session/បរិស្ថាននេះ៖
proxies = {
"http": "http://127.0.0.1:8080",
"https": "http://127.0.0.1:8080",
}
with requests.Session() as session:
response = session.get(
"https://example.com/",
proxies=proxies,
timeout=(5, 15),
)
response.raise_for_status()
ជំនួសអ្នកស្តាប់ក្នុងម៉ាស៊ីនដោយរបស់អ្នក។ បើប្រៀបធៀបចំណុច HTTP សាធារណៈ ជ្រើសពីបញ្ជីប្រូកស៊ី HTTP ដោយរក្សាគោលការណ៍ Session ដដែល។ នេះគ្រប់គ្រងធាតុផ្គូផ្គងដែលបានផ្តល់; ត្រូវជ្រើសដោយចេតនាសម្រាប់ scheme ឬ host ផ្សេងដែលកម្មវិធីប្រើផង។ សេវា IDE កុងតឺន័រ ឬអ្នករត់ CI អាចទទួលបរិស្ថានខុសពី terminal។
ឱ្យ Session គ្រប់គ្រងការកំណត់របស់ខ្លួន
បើកម្មវិធីមិនគួររកប្រូកស៊ីពីបរិស្ថាន កំណត់គោលការណ៍មុនសំណើដំបូង៖
with requests.Session() as session:
session.trust_env = False
session.proxies = {
"http": "http://127.0.0.1:8080",
"https": "http://127.0.0.1:8080",
}
response = session.get(
"https://example.com/",
timeout=(5, 15),
)
response.raise_for_status()
trust_env=False ក៏ប៉ះពាល់ការកំណត់វិញ្ញាបនបត្រទាក់ទងបរិស្ថាន និងការផ្ទៀងផ្ទាត់ netrc ស្វ័យប្រវត្តិ។ ពិចារណាការពឹងផ្អែកទាំងនេះមុនជ្រើស។ សម្រាប់កញ្ចប់ CA ឯកជនដែលអនុម័ត អាចផ្តល់ផ្លូវច្បាស់លាស់៖
response = session.get(
"https://example.com/",
timeout=(5, 15),
verify="/path/to/approved-ca-bundle.pem",
)
ប្រើកញ្ចប់ដែលអនុម័តពិត និងបើកការផ្ទៀងផ្ទាត់។ ទុក Session ដាច់ដោយឡែកសម្រាប់គោលការណ៍ផ្លូវនីមួយៗ ជំនួសការកែតែមួយពេលការងារផ្សេងប្រើវា។
បើជម្រើសទាំងពីរមិនពន្យល់ផ្លូវកម្មវិធី ប្រៀបធៀប Session ដាច់ដោយឡែកនឹងកម្មវិធីក្នុងបរិស្ថានរត់និងគោលដៅមិនបង្កគ្រោះថ្នាក់ដូចគ្នា។ កត់អថេរប្រូកស៊ីមានស្រាប់ តម្លៃ trust_env និងថាការហៅផ្ញើ proxies ឬទេ; កុំដាក់ URL មានព័ត៌មានចូលប្រើក្នុងកំណត់ហេតុចែករំលែក។ ជោគជ័យពេលដាច់ដោយឡែកនាំការពិនិត្យបន្ទាប់ទៅការបង្កើត Session អាដាប់ទ័រ លំហូរសំណើដែលត្រៀមរួច ឬមធ្យោបាយដឹកជញ្ជូនផ្ទាល់ខ្លួន។ តេស្តបរិស្ថាន curl មិនកំណត់ឥរិយាបថរួមបញ្ចូលរបស់ Requests ផ្ទាល់ទេ។