Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 20667|Svare: 0

[ASP.NET] GET-forespørsel "HTTP-feil 400. Forespørsels-URL-en er ugyldig"

[Kopier lenke]
Publisert på 04.07.2018 09:53:58 | | | |


Når man ser denne feilinformasjonen, kan den gjennomsnittlige utvikleren gjette to grunner

1. Det er spesialtegn i lenken

2. Lenkelengden er for lang(Det virker som lengden ikke er skylden, den er vag, jeg glemte det)

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

Deretter begynte vi å undersøke årsakene til feilene vi kunne støte på

1. Sjekk URL-en, det finnes ingen spesialtegn (unntak denne grunnen)

2. URL-en ser veldig lang ut ved første øyekast, så la oss slette halvparten av lengden på parameteren og deretter be om den. Resultatet er at det kan lykkes, og ved å stadig legge til tegn, finner man at lengden overstiger 339 og rapporterer denne feilen, og det finnes ingen spesialtegn etter 339, såVi konkluderte i hovedsak med at årsaken til feilen burde være at URL-en er for lang

Neste steg er å løse de relevante problemene

Deretter finnes det ulike Baidu, sjekk konfigurasjonen knyttet til å endre grensen for spørringsstrenglengden

Deretter endrer du web.config

1. Endre maxQueryStringLength og maxRequestLength-konfigurasjonene under httpRuntime-noden

2. Endre system.webServer-noden som følger

Når jeg lagrer og kjører med forventning, er feilene fortsatt de samme, og det virker som det ikke er noe poeng

På dette tidspunktet begynte jeg å lure på, hvorfor ikke, vil det ikke få effekt, tenkte at det kanskje finnes mange som meg, tenkte på den globale innstillingen til IIS, vil ikke denne innstillingen bli overstyrt, vi bruker fortsatt alle mengdeverdiene

Ikke gjett, bare sjekk det ut (merk at requestFiltering du sjekker ligger under system.webServer, ikke se på feil node)

Hvis den er av, er verdien for overrideModeDefault Deny, noe som betyr at konfigurasjonen vår vil være basert på den spesifikke konfigurasjonen på nettstedet vårt.

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

Til slutt fanget en tilbakestilling som ikke ble tatt i bruk på stackoverflow oppmerksomheten min

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



Grovt sett har forespørselen ennå ikke nådd IIS og blir stoppet av operativsystemet.

På dette tidspunktet søkte jeg etter en annen artikkel på Google, som lenket til Microsofts tekniske støtte for optisk radio

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

Kjernen i de to artiklene er at vi må endre registeret, og de to artiklene er sannsynligvis modifisert av følgende to verdier i registeret



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

Høyreklikk på det tomme området og velg Dword-verdien, som vist på bildet



Lag et nytt navn kalt UrlSegmentMaxLength, sett verdien til 2048, og klikk OK



Innstillingen for UrlSegmentMaxCount er den samme som ovenfor, verdien er også Dword 2048, klikk OK.

Endringen kan bare tre i kraft hvis HTTP-tjenesten startes på nytt

  • Klikk Start, skriv Cmd, og klikk deretter OK.
  • Ved kommandoprompten skriver du net stop http og trykker Enter.
  • Ved kommandoprompten skriver du net start http og trykker Enter.


Deretter starter du IIS på nytt. Prøv igjen, ok, ingen feil, perfekt løsning





Foregående:Typen "Objekt" er definert i en ureferert samling. Må legge til et svar i programmet...
Neste:Ionic Development Android App Practice (4): Baidu Map API-posisjonering
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com