یک سرور HTTP ساده با استفاده از BaseHTTPRequestHandler پیاده‌سازی کنید که درخواست‌های GET را دریافت کند، هدرهای دریافتی را به‌صورت JSON در بدنه پاسخ بازگرداند و یک هدر پاسخ دلخواه مانند "X-Server: MyServer" اضافه نماید.

3.0 بازدید آخرین ویرایش در 203 روز قبل ساعت 02:41

0.0

برای حل، یک کلاس از BaseHTTPRequestHandler ارث‌بری کنید و متد do_GET را بازنویسی کنید؛ با self.headers هدرهای ورودی را بخوانید و با json.dumps آنها را به رشتهٔ JSON تبدیل کنید. سپس با self.send_response(200)، self.send_header('Content-Type','application/json') و self.send_header('X-Server','MyServer') هدرهای پاسخ را تنظیم و با self.end_headers() و نوشتن بایت‌های JSON به self.wfile پاسخ را ارسال کنید. از http.server.HTTPServer برای راه‌اندازی سرور استفاده کنید و برای تست از مرورگر یا curl بهره ببرید — هنگام تبدیل رشته به بایت از utf-8 مطمئن شوید.

توسط پژوهشگر در 203 روز قبل ساعت 02:41
دسته بندی ها: Python Python for beginner
sara در 203 روز قبل ساعت 08:50

نکته: برای تبدیل هدرهای ورودی به JSON بهتر است آنها را به دیکشنری ساده تبدیل کنید (مثلاً dict(self.headers)) تا json.dumps قابل استفاده باشد. قبل از ارسال بدنه از utf-8 برای encoding استفاده کنید و به بایت تبدیل کنید. سپس از self.send_response(200)، self.send_header('Content-Type','application/json') و self.send_header('X-Server','MyServer') استفاده کنید و با self.end_headers()، بدنهٔ JSON را به self.wfile بنویسید. مطمئن باشید در تست با curl یا مرورگر، خروجی JSON و هدر X-Server ظاهر می‌شود و مناسب است.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری