Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 20667|Odpověď: 0

[ASP.NET] GET požadavek "HTTP Error 400. URL požadavku je neplatná."

[Kopírovat odkaz]
Zveřejněno 04.07.2018 9:53:58 | | | |


Když vidí tyto dezinformace, průměrný vývojář může odhadnout dva důvody

1. V odkazu jsou speciální znaky

2. Délka článku je příliš dlouhá(Zdá se, že délka není vina, je to nejasné, zapomněl jsem)

Adresa chybového obrazu je následující: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99

Poté jsme začali zkoumat příčiny chyb, na které jsme mohli narazit

1. Zkontrolujte URL, nejsou tam žádné speciální znaky (tento důvod vylučujte)

2. URL se na první pohled zdá opravdu dlouhá, takže smažme polovinu délky parametru a pak ji požádejme. Výsledkem je, že může být úspěšný, a pak se při neustálém přidávání znaků zjistí, že délka přesahuje 339 a tato chyba se hlásí, a po 339 už nejsou žádné speciální znaky, takžeV podstatě jsme zjistili, že příčinou chyby by měla být příliš dlouhá URL

Dalším krokem je vyřešit příslušné problémy

Pak existují různé Baidu, zkontrolujte konfiguraci související s úpravou limitu délky dotazovacího řetězce

Pak upravte web.config

1. Upravte konfigurace maxQueryStringLengthLength a maxRequestLength pod uzlem httpRuntime

2. Upravit uzel system.webServer následovně

Ukládám a spouštěm s očekáváním, chyby jsou stále stejné a zdá se, že to nemá smysl

V tu chvíli jsem začal přemýšlet, proč ne, nebude to účinné, myslel jsem si, že je mnoho lidí jako já, kteří přemýšlejí o globálním nastavení IIS, nebude toto nastavení přepsáno, stále používáme všechny hodnoty sady

Nehádejte, prostě se na to podívejte (všimněte si, že requestFiltering, který kontrolujete, je pod system.webServer, nekoukejte na špatný uzel).

Pokud je vypnutá, hodnota overrideModeDefault je Deny, což znamená, že naše konfigurace bude založena na konkrétní konfiguraci našeho webu.

Takže všechno je normální, proč je to chyba?!

Nakonec mě upoutal revert, který nebyl přijat na stackoverflow

propojithttps://stackoverflow.com/questi ... is-invalid-in-iis-7



Zhruba řečeno, požadavek ještě nedosáhl IIS a operační systém ji zrušil.

V té době jsem hledal další článek na Googlu, který odkazoval na technickou podporu optického rádia Microsoftu

Adresa je následujícíhttps://support.microsoft.com/zh ... ettings-for-windows

Podstata těchto dvou článků je, že musíme upravit registr, a oba články jsou pravděpodobně upraveny následujícími dvěma hodnotami registru



Dále to zkuste a přejděte do registru CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

Klikněte pravým tlačítkem na prázdnou oblast a vyberte hodnotu Dword, jak je vidět na obrázku



Vytvořte nový název nazvaný UrlSegmentMaxLength, nastavte hodnotu na 2048 a klikněte na OK



Nastavení UrlSegmentMaxCount je stejné jako výše, hodnota je také Dword 2048, klikněte na OK.

Úprava může nabýt účinnosti pouze při restartu HTTP služby

  • Klikněte na Start, zadejte Cmd a pak OK.
  • V příkazovém řádku napište net stop http a stiskněte Enter.
  • V příkazovém řádku napište net start http a stiskněte Enter.


Pak restartuj IIS. Zkus to znovu, dobře, žádná chyba, perfektní řešení





Předchozí:Typ "Object" je definován v nereferencovaném assembleru. Musím přidat odpověď do programu...
Další:Ionic Development Android App Practice (4): Baidu Map API Positioning
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com