ווען CONNECT גיט צוריק 200 און TLS קען נישט דעקאָדירן גלייך, באַקוקט די גרענעץ בייטן אין דער פֿאַרבינדונג פֿאַר איר ענדערט סערטיפֿיקאַטן אָדער ציפֿערן.

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

אַ מינימאַלע HTTP/1.1 CONNECT בקשה ניצט CRLF צווישן שורות און אַ ליידיקע שורה אין סוף:

b"CONNECT example.com:443 HTTP/1.1\r\nHost: example.com:443\r\n\r\n"

שטעלט יעדעס דערלויבניש פֿעלד פֿאַר דער לעצטער ליידיקער שורה, אָן אַרײַנגעבויטער שורה-ברעכונג. אין Python באַצייכנט "\n" אַ נייע שורה; אַ רוי סטרונג מיט אַ צוריק-שיפּענדיקער און דעם אות n נישט. פּרובירט וואָסערע בייטן אַ קאָדירונג-העלפֿער פּראָדוצירט פֿאַר איר פּרובירט זיי אַוועקצונעמען—עלטערע העלפֿער האָבן געקענט צולייגן שורה-ברעכונגען.

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

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

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

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