OOrivelle
Quy trình

Quy trình lập trình · So sánh nguồn HTTPS có giới hạn

03
Sản phẩm

Quy trình

So sánh nguồn HTTPS dùng tên DNS ASCII có hậu tố chữ cái và cổng mặc định 443. Thử chữ hoa và bỏ qua đường dẫn, từ chối thông tin đăng nhập, IP trực tiếp, khoảng trắng và cổng ngoài 1–65535.

01

Tải ứng dụng

Chọn thư mục và yêu cầu trợ lý đọc các tệp liên quan trước khi chỉnh sửa. Xác định mục tiêu và giới hạn của tác vụ.

02

Mở thư mục dự án

Chọn endpoint tương thích. Công cụ khả dụng và chất lượng phản hồi phụ thuộc vào mô hình và máy chủ đã cấu hình.

03

Kết nối và kiểm tra mô hình

Xem lại thay đổi và đầu ra lệnh. Chạy kiểm tra dự án trước khi chấp nhận kết quả; mã được tạo không mặc nhiên đã qua kiểm thử.

04

Xem thay đổi và chạy kiểm thử

So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp.

So sánh nguồn HTTPS có giới hạn

Quy trình
import re
from urllib.parse import urlsplit

def https_origin(url):
    if type(url) is not str or any(not 33 <= ord(c) <= 126 for c in url):
        raise ValueError("origin.text")
    p = urlsplit(url)
    if p.scheme.lower() != "https" or p.username is not None or p.password is not None:
        raise ValueError("origin.scheme")
    host = p.hostname or ""
    labels = host.lower().split(".")
    if len(labels) < 2 or not re.fullmatch(r"[a-z]{2,63}", labels[-1]):
        raise ValueError("origin.dns")
    if any(not re.fullmatch(r"[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?", x) for x in labels):
        raise ValueError("origin.label")
    if len(host) > 253 or p.netloc.endswith(":") or "\\" in url:
        raise ValueError("origin.authority")
    port = p.port if p.port is not None else 443
    if not 1 <= port <= 65535:
        raise ValueError("origin.port")
    return ("https", host.lower(), port)

def same_origin(a, b):
    return https_origin(a) == https_origin(b)

Kiểm tra trước khi áp dụng. Xem lại thay đổi và đầu ra lệnh. Chạy kiểm tra dự án trước khi chấp nhận kết quả; mã được tạo không mặc nhiên đã qua kiểm thử.

Không gian lập trình với AI

Ý tưởng tiếp theo bắt đầu từ đây.

Tải cho Windows ↗