سورس کد بدست آوردن اطلاعات وب سرور
سورس کد برای بدست آوردن اطلاعات وب سرور به زبانهای مختلف برنامهنویسی نوشته میشود. در اینجا ما به بررسی یک نمونه ساده با استفاده از زبان پایتون میپردازیم.
```
import socket
def get_server_info(host, port):
try:
# ایجاد اتصال به سرور
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.connect((host, port))
# ارسال درخواست HTTP
request = f"GET / HTTP/
- 1\r\nHost: {host}\r\n\r\n"
# دریافت پاسخ از سرور
response = server_socket.recv(4096).decode()
print("Server Response:")
print(response)
except Exception as e:
print(f"Error: {e}")
finally:
server_socket.close()
# استفاده از تابع
get_server_info('example.com', 80)
```
توضیح کد
در این کد، ابتدا ما یک سوکت ایجاد میکنیم. سپس به سرور متصل میشویم. در مرحله بعد، یک درخواست HTTP ساده میفرستیم. این درخواست طبق فرمت استاندارد HTTP نوشته شده است.
پس از ارسال درخواست، ما پاسخ سرور را دریافت میکنیم. این پاسخ شامل اطلاعاتی درباره سرور، مانند نوع سرور و وضعیت درخواست است. در نهایت، سوکت را میبندیم تا منابع سیستم آزاد شوند.
نکات مهم
- کتابخانه: برای این کار از کتابخانه `socket` در پایتون استفاده شده است. این کتابخانه به ما اجازه میدهد که با پروتکلهای شبکه کار کنیم.
- مدیریت خطا: در کد بالا، مدیریت خطا انجام میشود تا در صورت بروز مشکل، کاربر از آن مطلع شود.
- پورت: در این مثال، از پورت 80 استفاده شده است که معمولاً برای HTTP است. برای HTTPS باید از پورت 443 استفاده کنید.
این کد میتواند به عنوان نقطه شروعی برای پروژههای بزرگتر و پیچیدهتر استفاده شود. همچنین میتوان به آن قابلیتهای بیشتر و بهتری اضافه کرد.