Lokacin da CONNECT ya dawo 200 kuma TLS ya kasa yin decoding nan da nan, duba iyakar bytes a cikin na'urar haɗin kafin ka canza takardar shaidar ko cipher.

Ƙimar izini da aka ƙirƙira na iya riga ta ƙare da sabon layi. Ƙara wani ƙarshen layi na iya kammala kanun HTTP da wuri, ya bar filin Host da aka nufa ko wani rubutu a bayan buƙatar.

Buƙatar HTTP/1.1 CONNECT mafi ƙanƙanta tana amfani da CRLF tsakanin layuka da layi mara komai a ƙarshe:

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

Sanya kowane filin izini kafin wannan layin mara komai na ƙarshe, ba tare da karyewar layi a ciki ba. A cikin Python "\n" yana wakiltar sabon layi; ɗanyen zaren da ke ɗauke da backslash da harafin n ba ya wakiltar haka. Duba waɗanne bytes mai taimakon encoding ke ƙirƙira kafin ka yi ƙoƙarin cire su—tsofaffin mataimaka na iya ƙara karyewar layi.

Da zarar CONNECT ya yi nasara, waɗannan sauran bytes na protocol ɗin rami ne. Rubutun da ya ɓace na iya isa wurin abokin da ke jiran TLS. Matsayin nasara ba zai iya gyara bytes da suka riga suka shiga layi bayan buƙata mara kyau ba.

Duba iyakar karɓa kuma. Karanta cikakken amsar proxy kafin ka ba da socket ɗin ga TLS, kula da karatun wani ɓangare kuma ka adana duk abin da aka karanta bayan kanun. Karatu ɗaya na socket bai kamata ya ƙunshi cikakken saƙo ɗaya ba.

Idan wannan parser ɗinka ne, kwatanta wakilcin bytes da aka gyara da nahawun waya; ka nuna tsayi da iyakokin layi yayin ɓoye kalmar sirri. Ga aikace-aikacen da kawai ke buƙatar haɗin proxy, na'urar haɗin da aka kula da ita tana guje wa mallakar wannan lambar tsarin.

Labarai masu alaƙa