Python បាននាំចូលម៉ូឌុល socks ខុសពីអ្វីដែលអ្នករំពឹង
ពិនិត្យម៉ូឌុលដែលបាននាំចូល មុនពេលចាត់ទុកគុណលក្ខណៈ SOCKS ដែលបាត់ជាការបរាជ័យ proxy ឬ DNS។
កំហុសដូចជា module 'socks' has no attribute 'create_connection' កើតឡើងមុនពេលសំណើ proxy ជោគជ័យ។ ចាប់ផ្តើមពីម៉ូឌុល Python ដែលកម្មវិធីបាននាំចូល។
import sys
import socks
print(sys.executable)
print(socks.__file__)
print(getattr(socks, '__version__', 'unknown'))បន្ទាត់ត្រួតពិនិត្យទាំងនេះកំណត់អត្តសញ្ញាណអ្នកបកប្រែ និងឯកសារដែលបាននាំចូល។ អានវានៅក្នុងបរិស្ថានកម្មវិធីដូចគ្នាដែលបរាជ័យ។ តើមីណាល់ដែលប្រើបរិស្ថាននិម្មិតផ្សេងអាចនាំចូលឯកសារផ្សេងដែលមានឈ្មោះដូចគ្នា។
ពិនិត្យមើលថាតើឯកសារ ឬកញ្ចប់ socks.py ក្នុងម៉ាស៊ីនកំពុងបាំងភាពអាស្រ័យដែលបានបម្រុងទុកឬអត់។ ផ្លូវស្វែងរកម៉ូឌុលរបស់ Python អាចធ្វើឱ្យឯកសារនោះឈ្នះលើកញ្ចប់ដែលបានដំឡើង។ ប្តូរឈ្មោះការប៉ះទង្គិចដោយចៃដន្យដោយចេតនា ហើយចាប់ផ្តើមដំណើរការឡើងវិញនូវដំណើរការដែលបាននាំចូលវារួចហើយ។
កូដប្រភពរបស់ PySocks មានទាំង set_default_proxy និងការសរសេរដែលត្រូវគ្នា setdefaultproxy ព្រមទាំង create_connection។ ដូច្នេះការផ្លាស់ប្តូរការសរសេរតែមួយដោយព្រាង មិនមែនជាការធ្វើរោគវិនិច្ឆ័យពេញលេញនៃគុណលក្ខណៈដែលបាត់នោះទេ។
នៅពេលម៉ូឌុលដែលបាននាំចូល និងកំណែត្រឹមត្រូវហើយ សូមប្រៀបធៀបកូដជាមួយ API ដែលបានចងក្រងជាឯកសាររបស់គម្រោងនោះ។ ជៀសវាងបន្ថែមថតបណ្ណាល័យប្រព័ន្ធដែលមិនពាក់ព័ន្ធដោយដៃទៅក្នុងផ្លូវស្វែងរករបស់ Python រហូតដល់ការនាំចូលហាក់ដូចជាដំណើរការ។ ការនោះអាចលាយកំណែភាពអាស្រ័យ ហើយទុកភាពមិនត្រូវគ្នានៃបរិស្ថានមូលដ្ឋានឱ្យនៅមិនទាន់ដោះស្រាយ។