Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 20667|Svar: 0

[ASP.NET] GET-begäran "HTTP Error 400. Förfrågnings-URL:en är ogiltig"

[Kopiera länk]
Publicerad på 2018-07-04 09:53:58 | | | |


När man ser denna felaktiga information kan den genomsnittlige utvecklaren gissa två orsaker

1. Det finns specialtecken i länken

2. Länklängden är för lång(Det verkar som att längden inte är felet, den är vag, jag glömde)

Adressen till felbilden är följande: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99

Därefter började vi undersöka orsakerna till de fel vi kunde stöta på

1. Kontrollera URL:en, det finns inga specialtecken (uteslut denna anledning)

2. URL:en ser väldigt lång ut vid första anblicken, så låt oss ta bort halva parameterns längd och sedan begära den. Resultatet är att det kan lyckas, och genom att ständigt lägga till tecken upptäcks att längden överstiger 339 och rapporterar detta fel, och det finns inga specialtecken efter 339, såVi har i princip kommit fram till att orsaken till felet bör vara att URL:en är för lång

Nästa steg är att lösa de relevanta problemen

Sedan finns det olika Baidu, kontrollera konfigurationen som är relaterad till att ändra gränsen för frågesträngarnas längd

Sedan modifierar du web.config

1. Modifiera maxQueryStringLength och maxRequestLength-konfigurationerna under httpRuntime-noden

2. Modifiera system.webServer-noden enligt följande

Jag sparar och kör med förväntan men felen är fortfarande desamma, och det verkar som att det inte finns någon mening

Vid det här laget började jag undra, varför inte, kommer det inte att träda i kraft, tänkte att det kanske finns många som jag, tänkande på IIS globala inställning, kommer denna inställning inte att överskridas, vi använder fortfarande alla mängdvärden

Gissa inte, kolla bara in det (notera att requestFiltering du kollar finns under system.webServer, titta inte på fel nod)

Om den är avstängd är värdet på overrideModeDefault Deny, vilket betyder att vår konfiguration kommer att baseras på den specifika konfigurationen av vår webbplats.

Så allt är normalt, varför är det ett fel?!

Till slut fångade en återställning som inte antogs på stackoverflow min uppmärksamhet

länkhttps://stackoverflow.com/questi ... is-invalid-in-iis-7



Grovt sett har förfrågan ännu inte nått IIS och avbryts av operativsystemet.

Vid det här tillfället sökte jag efter en annan artikel på Google, som länkade till Microsofts tekniska support för optisk radio

Adressen är som följerhttps://support.microsoft.com/zh ... ettings-for-windows

Kärnan i de två artiklarna är att vi behöver ändra registret, och de två artiklarna modifieras troligen av följande två värden i registret



Nästa steg är att prova och gå till registret CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

Högerklicka på det tomma området och välj Dword-värdet, som visas på bilden



Skapa ett nytt namn som heter UrlSegmentMaxLength, sätt värdet till 2048 och klicka på OK



Inställningen för UrlSegmentMaxCount är densamma som ovan, värdet är också Dword 2048, klicka OK.

Ändringen kan endast träda i kraft om HTTP-tjänsten startas om

  • Klicka på Start, skriv Cmd och klicka sedan på OK.
  • Vid kommandoprompten, skriv net stop http och tryck på Enter.
  • Vid kommandoprompten, skriv net start http och tryck på Enter.


Sedan startar du om IIS. Försök igen, okej, inget fel, perfekt lösning





Föregående:Typen "Objekt" definieras i en orefererad sammansättning. Måste lägga till ett svar i programmet...
Nästa:Jonic Development Android App Practice (4): Baidu Map API-positionering
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com