Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 20667|Svar: 0

[ASP.NET] GET-anmodning "HTTP Error 400. Anmodnings-URL'en er ugyldig"

[Kopier link]
Opslået på 04/07/2018 09.53.58 | | | |


Når man ser denne misinformation, kan den gennemsnitlige udvikler gætte to grunde

1. Der er særlige tegn i linket

2. Forbindelseslængden er for lang(Det virker som om, længden ikke er skylden, den er vag, jeg glemte det)

Adressen på fejlbilledet er som følger: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99

Dernæst begyndte vi at undersøge årsagerne til de fejl, vi kunne støde på

1. Tjek URL'en, der er ingen specialtegn (undtag denne grund)

2. URL'en ser virkelig lang ud ved første øjekast, så lad os slette halvdelen af parameterens længde og derefter anmode om den. Resultatet er, at det kan lykkes, og ved konstant at tilføje tegn opdages det, at længden overstiger 339 og rapporterer denne fejl, og der er ingen specialtegn efter 339, såVi fastslog grundlæggende, at årsagen til fejlen burde være, at URL'en er for lang

Næste skridt er at løse de relevante problemer

Så er der forskellige Baidu, tjek konfigurationen relateret til ændring af grænsen for forespørgselsstrengens længde

Derefter modificerer web.config

1. Ændr maxQueryStringLength og maxRequestLength-konfigurationerne under httpRuntime-noden

2. Ændr system.webServer-noden som følger

Gemmer og kører med forventning, fejlene er stadig de samme, og det ser ud til, at det ikke nytter noget

På dette tidspunkt begyndte jeg at spekulere på, hvorfor ikke, vil det ikke få effekt, idet jeg tænkte, at der måske er mange som mig, der tænker på IIS' globale indstilling, vil denne indstilling ikke blive overtrumfet, vi bruger stadig alle mængdeværdierne

Gæt ikke, bare tjek det ud (bemærk at requestFiltering, du tjekker, ligger under system.webServer, kig ikke på den forkerte node)

Hvis den er slukket, er værdien for overrideModeDefault Deny, hvilket betyder, at vores konfiguration vil være baseret på den specifikke konfiguration af vores site.

Så alt er normalt, hvorfor er det en fejl?!

Endelig fangede en tilbagevending, som ikke blev adopteret på stackoverflow, min opmærksomhed

sammenkædehttps://stackoverflow.com/questi ... is-invalid-in-iis-7



Grov sagt er anmodningen endnu ikke nået til IIS og bliver dræbt af operativsystemet.

På dette tidspunkt søgte jeg efter en anden artikel på Google, som linkede til Microsofts tekniske support for optisk radio

Adressen er som følgerhttps://support.microsoft.com/zh ... ettings-for-windows

Essensen af de to artikler er, at vi skal ændre registret, og de to artikler er sandsynligvis ændret af følgende to værdier i registret



Prøv derefter og gå til registreringsdatabasen CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

Højreklik på det tomme område og vælg Dword-værdien, som vist på billedet



Opret et nyt navn kaldet UrlSegmentMaxLength, sæt værdien til 2048, og klik OK



Indstillingen for UrlSegmentMaxCount er den samme som ovenfor, værdien er også Dword 2048, klik OK.

Ændringen kan kun træde i kraft, hvis HTTP-tjenesten genstartes

  • Klik Start, skriv Cmd, og klik derefter OK.
  • Ved kommandoprompten skal du skrive net stop http og trykke på Enter.
  • Ved kommandoprompten skal du skrive net start http og trykke på Enter.


Genstart derefter IIS. Prøv igen, ok, ingen fejl, perfekt løsning





Tidligere:Typen "Objekt" defineres i en urefereret samling. Må tilføje et svar til programmet...
Næste:Ionisk udvikling Android App Practice (4): Baidu Map API Positionering
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com