אַ רוי Python סאָקעט פֿאַרהאַנדלט נישט אַ פּראָקסי בלויז ווײַל http_proxy עקסיסטירט. פֿאַר אַ פּראָגראַם וואָס רעדט איר אייגענע TCP פּראָטאָקאָל, ניצט אַ פֿאַרבינדונג וואָס פֿאַרשטייט דעם דינסט בײַם פּראָקסי-עק.

ווען PySocks איז שוין פֿאַראַן, שאַפֿט די פֿאַרבינדונג בפֿירוש:

import socks

with socks.socksocket() as connection:
    connection.set_proxy(socks.SOCKS5, '203.0.113.10', 1080)
    connection.settimeout(10)
    connection.connect(('example.com', 12345))
    # Exchange the destination protocol here.

פֿאַרבײַטס די דאָקומענטאַציע-אַדרעס און דעם ציל-פּאָרט. פֿאַר אַ דערלויבטעם פּובליק ציל, קלויבט אַ קאַנדידאַט פֿון דער SOCKS5 פּראָקסי ליסטע בלויז נאָך פּריפֿן אַז ער דערלויבט דעם ציל-פּאָרט פֿון דער אַפּליקאַציע. פּריפֿט דאָס אינסטאַלירטע פּאַקעט, די געשטיצטע מעטאָדן און די עק-פֿאָדערונגען קעגן דער PySocks צובינד.

דער רעשט פֿון דער אַפּליקאַציע פֿאַרבײַטט איר פּראָטאָקאָל איבער דער דאָזיקער אויפֿגעשטעלטער פֿאַרבינדונג. אויב יענער פּראָטאָקאָל ניצט TLS, הייבט עס אָן נאָך דער פּראָקסי-פֿאַרהאַנדלונג און באַשטעטיקט דעם עמעס ציל-האָסט-נאָמען. פּראָקסי-אויטענטיפֿיקאַציע שטעלט אויף דעם וועג; זי גיט נישט דעם ציל-אַרײַנלאָג אָדער פֿאַרשליסלונג.

אַ SOCKS-צוהערער דאַרף SOCKS-פֿאַרהאַנדלונג. אַ HTTP-דינסט דאַרף אַ CONNECT-פֿעיִקע פֿאַרבינדונג פֿאַר אַן אַרביטרער TCP-ציל און קען אָפּזאָגן איר פּאָרט. קלויבט די פֿאַרבינדונג לויט דער דינסט וואָס ווערט טאַקע אָנגעבאָטן, אַנשטאָט צו ענדערן אַן אַדרעס און לאָזן דעם פֿאַלשן האַנטשאַק.

האַלט די פֿאַרבײַטונג לאָקאַל. צוטיילן אַ קלאַס צו socket.socket קען באַנייפֿלאָסן אומפֿאַרבונדענע אימפּאָרטן און ביבליאָטעקן. אויב אַן אַנדערער ביבליאָטעק פֿאַרמאָגט די סאָקעט-שאַפֿונג, ניצט איר דאָקומענטירטע פֿאַרבינדונג-פֿאַבריק אָדער פּראָקסי-אָפּציע; אַ ווערטערבוך וואָס זי לייענט קיינמאָל קען נישט ענדערן יענע פֿאַרבינדונג.

פֿאַרבונדענע אַרטיקלען