એક વધારાની નવી લાઇન CONNECT પછી TLS તોડી શકે છે
જ્યારે હાથે લખાયેલ પ્રોક્સી કનેક્ટર ટનલ ખોલે અને તરત જ TLS ડિકોડ ભૂલ આપે ત્યારે HTTP હેડર ફ્રેમિંગ તપાસો.
જ્યારે 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 ને સોંપતા પહેલાં સંપૂર્ણ પ્રોક્સી પ્રતિસાદ વાંચો, આંશિક વાંચન સંભાળો અને હેડર્સથી આગળ વંચાયેલું બધું સાચવો. એક સોકેટ વાંચનમાં એક આખો સંદેશ હોવો જરૂરી નથી.
જો આ પાર્સર તમારું છે, તો સંપાદિત બાઇટ રજૂઆતની વાયર વ્યાકરણ સાથે સરખામણી કરો; પાસવર્ડ છુપાવતી વખતે લંબાઈ અને લાઇન સીમાઓ દૃશ્યમાન રાખો. ફક્ત પ્રોક્સી જોડાણની જરૂર હોય એવી એપ્લિકેશન માટે, જાળવેલ કનેક્ટર આ ફ્રેમિંગ કોડ ધરાવવાની જરૂર ટાળે છે.