یک برنامه پایتون بنویس که با استفاده از urllib.parse یک URL را تجزیه کند و دیکشنری هدرهای HTTP شامل Host، Path و Query-String را بسازد.
5.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:23 0.0
برای حل مسئله از urllib.parse.urlparse برای جدا کردن اجزای URL (netloc، path، query) و از urllib.parse.parse_qs یا urllib.parse.urlencode برای مرتبسازی/رمزگذاری پارامترهای query استفاده کن؛ سپس یک دیکشنری خروجی بساز که 'Host' برابر netloc (شامل پورت در صورت وجود)، 'Path' برابر path (یا "/" اگر خالی است) و 'Query-String' برابر رشتهٔ مرتبشده یا رمزگذاریشدهٔ پارامترها باشد. نکتهها: مطمئن شو اگر query خالی است مقدار مناسبی مثل "" یا None قرار میدهی، و برای خوانایی پارامترها از parse_qs برای تبدیل به دیکشنری استفاده و سپس در صورت نیاز با urlencode مجدداً به رشته تبدیل کن.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
یک نکته مهم این است که urlparse، قسمت netloc را به طور استاندارد شامل نام میزبان و پورت است، بنابراین برای 'Host' حتماً از netloc استفاده کنید. وقتی از parse_qs استفاده میکنید، مقدار هر پارامتر به صورت لیست میآید، پس اگر میخواهید رشتهٔ query را دوباره بسازید باید با urlencode و doseq=True به شکل مناسب تبدیل کنید یا با کنترل تکتایی ها بسازید. همچنین اگر path خالی بود، مقدار '/' را بدهید تا رفتار URL-ها واضح باشد. برای داشتن خروجی قابلخواندن، میتوانید یک دیکشنری خروجی با کلیدهای 'Host', 'Path', 'Query-String' بسازید و در صورت نبود query مقدار "" یا None قرار دهید.
گزارش