Is féidir comhlachtaí POST de chuid seachfhreastalaí HTTP Python a mhaolánú in rfile
Léigh iarraidh seachfhreastalaí HTTP Python trí ionchur maolánach an láimhseálaí in ionad fanacht le bearta atá tar éis an maolán soicéid a fhágáil cheana.
Léann an seachfhreastalaí tosaigh líne an iarratais agus na ceanntáisc, seolann sé ar aghaidh iad, agus ansin fanann sé in select le haghaidh comhlacht POST. Tá sé seolta ag an gcliant cheana. Is cosúil go bhfuil an dá thaobh ag fanacht ar a chéile.
Le BaseHTTPRequestHandler Python, téann léamh na gceanntásc trí rfile, sruth ionchuir mhaolánach. Is féidir leis an sruth sin léamh chun tosaigh agus bearta a bhaineann leis an gcomhlacht a choinneáil. Ní fhiafraíonn fanacht ar an soicéad bunúsach ach an bhfuil a thuairisceoir comhaid réidh; ní fhiafraíonn sé an bhfuil sonraí inúsáidte cheana sa sruth Python.
Lean an maolán a léigh na ceanntáisc
Léigh an comhlacht trí self.rfile freisin. Ná aistrigh go self.connection.recv tar éis na ceanntáisc a pharsáil leis an sruth mhaolánach. Seachas sin féadfaidh an cód bearta atá coinnithe ag an sruth sin a sheachaint agus fanacht le sonraí nach seolfar go deo arís.
Ní chuireann rfile féin chuig select ar select a mhaolán Python a scrúdú. Oibríonn an API réidhe trí thuairisceoir comhaid an ruda.
Le haghaidh iarratais a bhfuil Content-Length bailí amháin aige agus gan Transfer-Encoding, íth go beacht an líon beart a fógraíodh, ag láimhseáil deireadh roimh am an ionchuir agus do theorainneacha méide agus ama. Ná léigh go dtí EOF: féadfaidh cliant a úsáideann nasc leanúnach an nasc a choinneáil oscailte tar éis an iarraidh a chríochnú.
Déan frámaíocht ina cuid fhollasach den seachfhreastalaí
Teastaíonn tacaíocht frámaíochta blúire ó chomhlachtaí iarratais blúire. Ní féidir iad a léamh trí chuardach ar Content-Length atá as láthair. Teastaíonn cosán diúltaithe sainithe ó mheiteashonraí faid atá débhríoch, in ionad an ceanntásc is áisiúla a roghnú.
Féadfaidh láimhseálaí blocála leanúint dá chomhéadan srutha a úsáid le léamh teoranta. Teastaíonn múnla maoláin ó sheachfhreastalaí a thiomáintear ag imeachtaí a chomhtháthaíonn réamhléamh an pharsálaí le láimhseáil réidhe. Ní réiteoidh athrú ama teo dhá thomhaltóir neamhspleácha den soicéad céanna.
Baineann an diagnóis seo go sonrach le cá gcoinnítear na bearta isteach. Nuair a bheidh an comhlacht ceart ídithe ag an seachfhreastalaí, caithfidh sé an comhlacht sin a sheoladh ar aghaidh fós le frámaíocht HTTP chomhsheasmhach. Is áit úsáideach é an láimhseálaí caighdeánach http.server chun an mheicníocht a thuiscint, ach ní cur i bhfeidhm táirgeachta é ar sheachfhreastalaí tosaigh.