Hranice hlaviček HTTP ASCII
Sestavte hlavičku HTTP ASCII z názvu a hodnoty.
import re
TOKEN = re.compile(r"[!#$%&'*+.^_`|~0-9A-Za-z-]+")
def header_line(name, value):
if not isinstance(name, str) or not TOKEN.fullmatch(name):
raise ValueError("header name")
if not isinstance(value, str) or any(not 32 <= ord(c) <= 126 for c in value):
raise ValueError("ASCII header value")
return name + ": " + value| Projekt | Odmítněte chybné znaky názvu, nové řádky, řídicí znaky a text mimo ASCII, ale povolte prázdnou hodnotu bez další hlavičky. |
|---|---|
| Před použitím zkontrolujte | Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu. |
| Modely | Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně. |
import re
TOKEN = re.compile(r"[!#$%&'*+.^_`|~0-9A-Za-z-]+")
def header_line(name, value):
if not isinstance(name, str) or not TOKEN.fullmatch(name):
raise ValueError("header name")
if not isinstance(value, str) or any(not 32 <= ord(c) <= 126 for c in value):
raise ValueError("ASCII header value")
return name + ": " + valueDejte kódu sestavování požadavků jasnou vstupní hranici
HeaderAnvil přináší sestavování požadavků do programátorského prostředí pro Windows s připojeným rozhovorem s AI. Nejprve pojmenujte hlavičku, kterou aplikace potřebuje sestavit, a hodnoty, které má přijímat. Obecný požadavek na posílení validace se tak mění v kontrolovatelnou změnu na konkrétní hranici zdroje.
Můžete například požádat asistenta o prozkoumání dodaného formátovače hlaviček ASCII spolu se skutečným klientským kódem. Kontroly názvu a hodnoty poskytují konkrétní podklady, ale nedefinují všechny případy použití HTTP. Než požádáte o širší přijímání nebo přísnější odmítání, vysvětlete vstupní smlouvu aplikace.
Potom ověřte, kde navržená kontrola probíhá a jak její selhání dospěje k volajícímu. Odmítnutá hodnota je užitečná pouze tehdy, pokud okolní cesta požadavku tento výsledek záměrně zpracuje. Otestujte běžný vstup i zakázané znaky vlastními testovacími daty, pak zkontrolujte sestavení požadavku a hlášení chyb, než úlohu považujete za dokončenou.
Model AI bez omezení může s touto prací pomoci, je-li dostupný z podporovaného koncového bodu kompatibilního s OpenAI nebo Anthropic. Nastavte koncový bod a potřebné přihlašovací údaje a zohledněte limity kontextu a podporu nástrojů konkrétního modelu. Označení neodstraňuje omezení poskytovatele ani nedokazuje, že navržený validátor odpovídá protokolovým požadavkům aplikace.
Otázky ke změně sestavování hlaviček
- Jakou smlouvu stanovit pro vlastní hlavičku?
Pojmenujte přijímané znaky, pravidla prázdných hodnot a očekávané chování při chybě v aplikaci. Připojte kód využívající formátovaný řádek. Nežádejte model o odvození úplných pravidel protokolu z jediné ukázkové hodnoty.
- Lze příklad ASCII považovat za univerzální validátor HTTP?
Ne. Ukazuje záměrně úzkou smlouvu na úrovni zdroje. Před rozšířením prověřte požadavky skutečně používaného klienta a protokolové cesty a testujte změny proti této implementaci místo předpokladu univerzální kompatibility.
- Kde ověřit hlášení neplatného vstupu?
Sledujte volající kód formátovače přes vytvoření požadavku a zpracování chyb. Ptejte se, zda selhání zastaví požadavek, zobrazí zprávu uživateli, nebo se zapíše do protokolu. Navržené chování kontrolujte na této hranici i uvnitř validace.
- Jak sdílet selhávající požadavek bez přihlašovacích údajů?
Nahraďte tajné hodnoty reprezentativními zástupnými hodnotami zachovávajícími relevantní znaky a strukturu. Připojte sestavovací kód a pozorované selhání. Vybraný model potřebuje případ validace, nikoli skutečnou autorizační hodnotu služby.
HeaderAnvil · Aktualizováno 2026-10-25