Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 20667|Odgovoriti: 0

[ASP.NET] GET zahteva "HTTP Error 400. URL zahteve je neveljaven."

[Kopiraj povezavo]
Objavljeno na 4. 07. 2018 09:53:58 | | | |


Ob upoštevanju teh napačnih informacij lahko povprečen razvijalec ugiba dva razloga

1. V povezavi so posebni znaki

2. Dolžina povezave je predolga(Zdi se, da dolžina ni kriva, je nejasna, pozabil sem)

Naslov slike napake je naslednji: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99

Nato smo začeli raziskovati razloge za napake, na katere smo lahko naleteli

1. Preverite URL, ni posebnih znakov (razen tega razloga)

2. URL se na prvi pogled zdi zelo dolg, zato izbrišimo polovico dolžine parametra in ga nato zahtevamo. Rezultat je, da je lahko uspešen, nato pa z nenehnim dodajanjem znakov ugotovimo, da dolžina presega 339 in poroča o tej napaki, poleg tega pa po 339 ni posebnih znakov, tako daV bistvu smo ugotovili, da je vzrok napake predolg URL

Naslednji korak je reševanje ustreznih problemov

Nato obstajajo različni Baidu, preverite konfiguracijo, povezano s spreminjanjem omejitve dolžine poizvedbenega niza

Nato spremeni web.config

1. Spremenite konfiguraciji maxQueryStringLength in maxRequestLength pod vozliščem httpRuntime

2. Spremenite vozlišče system.webServer na naslednji način

Shranjujem in izvajam z napetim pričakovanjem, napake pa so še vedno enake, in zdi se, da ni nič uporabnega

Takrat sem se začel spraševati, zakaj ne, ali ne bo začelo veljati, razmišljajoč, da je morda veliko ljudi, kot sem jaz, ki razmišljajo o globalnem okolju IIS, ali ta nastavitev ne bo preglasena, saj še vedno uporabljamo vse vrednosti nastavljenih

Ne ugibaj, samo preveri (upoštevaj, da je requestFiltering, ki ga preveriš, pod system.webServer, ne glej napačnega vozlišča).

Če je izklopljena, je vrednost overrideModeDefault Deny, kar pomeni, da bo naša konfiguracija temeljila na specifični konfiguraciji naše strani.

Torej je vse normalno, zakaj je to napaka?!

Nazadnje me je pritegnila povračilna sprememba, ki ni bila sprejeta na stackoverflow

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



Približno povedano, zahteva še ni dosegla IIS in jo operativni sistem uniči.

Takrat sem iskal še en članek na Googlu, ki je povezoval Microsoftovo tehnično podporo za optični radio

Naslov je naslednjihttps://support.microsoft.com/zh ... ettings-for-windows

Bistvo obeh členov je, da moramo spremeniti register, in oba članka sta verjetno spremenjena z naslednjima dvema vrednostima registra



Nato poskusite in pojdite v register CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

Z desnim klikom na prazno območje izberite vrednost Dword, kot je prikazano na sliki



Ustvarite novo ime z imenom UrlSegmentMaxLength, nastavite vrednost na 2048 in kliknite OK



Nastavitev UrlSegmentMaxCount je enaka kot zgoraj, vrednost je prav tako Dword 2048, kliknite OK.

Sprememba lahko začne veljati le, če se HTTP storitev ponovno zažene

  • Kliknite Start, vpišite Cmd in nato OK.
  • V ukazni vrstici vpišite net stop http in pritisnite Enter.
  • V ukazni vrstici vpišite net start http in pritisnite Enter.


Nato ponovno zaženi IIS. Poskusi znova, v redu, brez napake, popolna rešitev





Prejšnji:Tip "Object" je definiran v nereferencirani sestavi. Moram dodati odgovor v program...
Naslednji:Ionic Development Android App Practice (4): Baidu Map API pozicioniranje
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com