اچ تی تی پی ساده شبکه net/httpx
فرستادن درخواست HTTP خام با سرآیندهای دستی و گرفتن پاسخ متنی یا دودویی.
واردسازی شبکه.اچ تی تی پی ساده شبکه
این بسته لایهای نازک زیر اچ تی تی پی است: خط درخواست و سرآیندها را خودتان مینویسید و پاسخ را دستنخورده میگیرید. برای کارخواههای API که کنترل کامل بر سرآیندها میخواهند، مثل بستههای سرویسهای ابری، به کار میرود.
گونهها
پاسخ Response
ساختار پاسخ| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| status | status | صحیح = 0 | کد وضعیت. |
| head | head | رشته = "" | سرآیندهای پاسخ، دستنخورده. |
| body | body | رشته = "" | بدنه. |
| ok | ok | منطقی = نادرست | درخواست فرستاده و پاسخ خوانده شد. |
| error | error | رشته = "" | پیام خطا. |
واردسازی شبکه.اچ تی تی پی ساده شبکه
واردسازی شبکه.تی سی پی شبکه
واردسازی حافظه
ناپایا سرور := تی سی پی شبکه.سرور {}
روال پاسخگو():
تکرار ۲:
ا := تی سی پی شبکه.پذیرش(سرور)
_ := تی سی پی شبکه.خواندن(ا، ۴۰۹۶)
تی سی پی شبکه.نوشتن اچ تی تی پی(ا، "200 OK"، "text/plain"، "سلام از سرور")
تی سی پی شبکه.بستن(ا)
پایان
پایان
روال ریشه:
ن := اچ تی تی پی ساده شبکه.تجزیه نقطه پایانی("https://api.example.com:8443")
سرچاپ ن.ok، ن.host، ن.port، ن.secure
سرور = تی سی پی شبکه.پیوند(۰)
ک := spawn(پاسخگو)
محلی := اچ تی تی پی ساده شبکه.تجزیه نقطه پایانی("http://127.0.0.1:" + تی سی پی شبکه.درگاه(سرور))
سر := "GET / HTTP/1.1\r\nHost: 127.0.0.1\r\nConnection: close\r\n\r\n"
پ := اچ تی تی پی ساده شبکه.ارسال متن(محلی، سر، "")
سرچاپ پ.ok، پ.status، پ.body، "[" + پ.error + "]"
سرچاپ اچ تی تی پی ساده شبکه.مقدار سرصفحه(پ.head، "content-type")
ناپایا خ := اچ تی تی پی ساده شبکه.ارسال خام با مهلت(محلی، سر، پوچ، ۰، ۲۰۰۰)
سرچاپ خ.ok، خ.status، خ.len، اچ تی تی پی ساده شبکه.متن پاسخ خام(خ)
اچ تی تی پی ساده شبکه.آزادسازی پاسخ خام(خ)
join(ک)
تی سی پی شبکه.بستن سرور(سرور)
سرچاپ اچ تی تی پی ساده شبکه.سقف پاسخ خام() > ۰
اچ تی تی پی ساده شبکه.تنظیم سقف پاسخ خام(۱۰۲۴ * ۱۰۲۴)
سرچاپ اچ تی تی پی ساده شبکه.سقف پاسخ خام()
ناپایا طول := ۰
ب := اچ تی تی پی ساده شبکه.رونوشت بیرونی("abc"، طول)
سرچاپ طول
حافظه.آزادسازی(ب)
ب۲ := اچ تی تی پی ساده شبکه.ارسال(محلی، سر، پوچ، ۰)
خ۲ := اچ تی تی پی ساده شبکه.ارسال خام(محلی، سر، پوچ، ۰)
سرچاپ ب۲.ok، خ۲.ok
پایاننقطه پایانی Endpoint
ساختار نقطه پایانی| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| host | host | رشته = "" | میزبان. |
| port | port | صحیح = 443 | درگاه؛ پیشفرض ۴۴۳. |
| secure | secure | منطقی = درست | با TLS وصل شود. |
| ok | ok | منطقی = نادرست | نشانی درست خوانده شد. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-httpx-Send.salam
پاسخ خام Raw
ساختار پاسخ خام| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| status | status | صحیح = 0 | کد وضعیت. |
| head | head | رشته = "" | سرآیندها. |
| data | data | تهی* | نشانی بدنه. |
| len | len | صحیح = 0 | طول بدنه. |
| ok | ok | منطقی = نادرست | موفق بود. |
| error | error | رشته = "" | پیام خطا. |
نمونهی این مورد همراه با موارد بالاتر آمده است: net-httpx-Send.salam
روالها
تجزیه نقطه پایانی ParseEndpoint
روال تجزیه نقطه پایانی(endpoint: رشته): نقطه پایانیhttps://api.example.com:8443 را میخواند؛ درگاه پیشفرض برای http ۸۰ و برای https ۴۴۳ است.نمونهی این مورد همراه با موارد بالاتر آمده است: net-httpx-Send.salam
ارسال Send
روال ارسال(ep: نقطه پایانی، head: رشته، body: تهی*، n: صحیح): پاسخنمونهی این مورد همراه با موارد بالاتر آمده است: net-httpx-Send.salam
ارسال متن SendText
روال ارسال متن(ep: نقطه پایانی، head: رشته، body: رشته): پاسخارسال، با بدنهی متنی.نمونهی این مورد همراه با موارد بالاتر آمده است: net-httpx-Send.salam
مقدار سرصفحه HeaderValue
روال مقدار سرصفحه(head: رشته، name: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: net-httpx-Send.salam
رونوشت بیرونی CopyOut
روال رونوشت بیرونی(body: رشته، out_len &: صحیح): تهی*نمونهی این مورد همراه با موارد بالاتر آمده است: net-httpx-Send.salam
ارسال خام SendRaw
روال ارسال خام(ep: نقطه پایانی، head: رشته، body: تهی*، n: صحیح): پاسخ خامارسال، ولی بدنهی پاسخ را دودویی نگه میدارد؛ برای تصویر و پرونده.نمونهی این مورد همراه با موارد بالاتر آمده است: net-httpx-Send.salam
ارسال خام با مهلت SendRawTimeout
روال ارسال خام با مهلت(ep: نقطه پایانی، head: رشته، body: تهی*، n: صحیح، timeout_ms: صحیح): پاسخ خامنمونهی این مورد همراه با موارد بالاتر آمده است: net-httpx-Send.salam
آزادسازی پاسخ خام FreeRaw
روال آزادسازی پاسخ خام(r &: پاسخ خام)نمونهی این مورد همراه با موارد بالاتر آمده است: net-httpx-Send.salam
متن پاسخ خام RawText
روال متن پاسخ خام(r: پاسخ خام): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: net-httpx-Send.salam
سقف پاسخ خام RawLimit
روال سقف پاسخ خام(): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: net-httpx-Send.salam
تنظیم سقف پاسخ خام SetRawLimit
روال تنظیم سقف پاسخ خام(bytes: صحیح)نمونهی این مورد همراه با موارد بالاتر آمده است: net-httpx-Send.salam