Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 20667|Răspunde: 0

[ASP.NET] Cererea GET "HTTP Eroare 400. URL-ul cererii este invalid"

[Copiază linkul]
Postat pe 04.07.2018 09:53:58 | | | |


Văzând această dezinformare, dezvoltatorul obișnuit poate ghici două motive

1. Există caractere speciale în link

2. Lungimea legăturii este prea mare(Se pare că lungimea nu este vina, este vagă, am uitat)

Adresa imaginii de eroare este următoarea: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99

Apoi, am început să investigăm motivele pentru erorile pe care le-am putea întâmpina

1. Verifică URL-ul, nu există caractere speciale (excluzând acest motiv)

2. URL-ul pare foarte lung la prima vedere, așa că să ștergem jumătate din lungimea parametrului și apoi să-l solicităm. Rezultatul este că poate avea succes, iar prin adăugarea constantă de caractere, se constată că lungimea depășește 339 și se raportează această eroare, iar după 339 nu există caractere speciale, deciPractic, am stabilit că cauza erorii ar trebui să fie că URL-ul este prea lung

Următorul pas este rezolvarea problemelor relevante

Apoi există diverse Baidu, verifică configurația legată de modificarea limitei de lungime a stringului de interogări

Apoi modifică web.config-ul

1. Modificați configurațiile maxQueryStringLength și maxRequestLength sub nodul httpRuntime

2. Modifică nodul system.webServer după cum urmează

Salvând și rulând cu anticipare, erorile rămân aceleași și pare că nu are rost

În acel moment, am început să mă întreb, de ce nu, nu va intra în vigoare, gândindu-mă că poate există mulți oameni ca mine, gândindu-se la contextul global al IIS, dacă această setare nu va fi suprascrisă, folosim în continuare toate valorile setate

Nu ghici, doar verifică (reține că requestFiltering-ul pe care îl verifici este localizat sub system.webServer, nu te uita la nodul greșit)

Dacă este dezactivat, valoarea overrideModeDefault este Deny, ceea ce înseamnă că configurația noastră va fi bazată pe configurația specifică a site-ului nostru.

Deci totul este normal, de ce este o eroare?!

În cele din urmă, un revert care nu a fost adoptat pe stackoverflow mi-a atras atenția

legăturăhttps://stackoverflow.com/questi ... is-invalid-in-iis-7



Pe scurt, cererea nu a ajuns încă la IIS și este blocată de sistemul de operare.

În acel moment, am căutat un alt articol pe Google, care făcea legătura de suportul tehnic pentru radio optic al Microsoft

Adresa este următoareahttps://support.microsoft.com/zh ... ettings-for-windows

Esența celor două articole este că trebuie să modificăm registrul, iar cele două articole sunt probabil modificate de următoarele două valori ale registrului



Apoi, încearcă și mergi la registrul CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

Faceți clic dreapta pe zona goală și selectați valoarea Dword, așa cum se vede în imagine



Creează un nume nou numit UrlSegmentMaxLength, setează valoarea la 2048 și apasă OK



Setarea UrlSegmentMaxCount este aceeași ca mai sus, valoarea este tot Dword 2048, apasă OK.

Modificarea poate intra în vigoare doar dacă serviciul HTTP este repornit

  • Apasă pe Start, tastează Cmd, apoi apasă OK.
  • La promptul de comandă, tastează net stop http și apasă Enter.
  • La promptul de comandă, tastează net start http și apasă Enter.


Apoi repornește IIS-ul. Încearcă din nou, ok, fără eroare, soluție perfectă





Precedent:Tipul "Obiect" este definit într-o asamblare nereferențiată. Trebuie să adaug un răspuns la program...
Următor:Practica aplicației Android pentru dezvoltarea Ionic (4): Poziționarea API-ului pentru harta Baidu
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com