Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 20667|Atsakyti: 0

[ASP.NET] GET užklausa "HTTP klaida 400. Užklausos URL neleistinas"

[Kopijuoti nuorodą]
Paskelbta 2018-07-04 09:53:58 | | | |


Matydamas šią klaidingą informaciją, vidutinis kūrėjas gali atspėti dvi priežastis

1. Nuorodoje yra specialiųjų simbolių

2. Nuorodos ilgis per ilgas(Atrodo, kad ilgis nėra kaltas, jis neaiškus, pamiršau)

Klaidos vaizdo adresas yra toks: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99

Tada pradėjome tirti klaidų, su kuriomis galime susidurti, priežastis

1. Patikrinkite URL, nėra specialiųjų simbolių (neįtraukite šios priežasties)

2. Iš pirmo žvilgsnio URL atrodo tikrai ilgas, todėl ištrinkime pusę parametro ilgio ir paprašykime. Rezultatas yra tas, kad jis gali būti sėkmingas, o tada nuolat pridedant simbolius, nustatoma, kad ilgis viršija 339 ir praneša apie šią klaidą, o po 339 nėra specialiųjų simbolių, taigiIš esmės nustatėme, kad klaidos priežastis turėtų būti per ilgas URL

Kitas žingsnis - išspręsti atitinkamas problemas

Tada yra įvairių Baidu, patikrinkite konfigūraciją, susijusią su užklausos eilutės ilgio limito keitimu

Tada pakeiskite web.config

1. Pakeiskite konfigūracijas maxQueryStringLength ir maxRequestLength mazge httpRuntime

2. Pakeiskite mazgą system.webServer taip:

Taupant ir bėgant su laukimu, klaidos vis dar tos pačios, ir atrodo, kad nėra jokios naudos

Šiuo metu pradėjau domėtis, kodėl gi ne, ar jis neįsigalios, galvodamas, kad gali būti daug tokių žmonių kaip aš, galvojančių apie pasaulinį IIS nustatymą, ar šis nustatymas nebus ignoruojamas, mes vis dar naudojame visas nustatytas vertes

Nespėkite, tiesiog patikrinkite (atkreipkite dėmesį, kad užklausaFiltravimas, kurį tikrinate, yra sistemoje.webServer, nežiūrėkite į netinkamą mazgą)

Jei jis išjungtas, overrideModeDefault reikšmė yra Deny, o tai reiškia, kad mūsų konfigūracija bus pagrįsta konkrečia mūsų svetainės konfigūracija.

Taigi viskas normalu, kodėl tai klaida?!

Galiausiai, mano dėmesį patraukė revert, kuris nebuvo priimtas stackoverflow

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



Grubiai tariant, užklausa dar nepasiekė IIS ir ją užmuša operacinė sistema.

Šiuo metu ieškojau kito "Google" straipsnio, kuris susietas su "Microsoft" optinio radijo technine pagalba

Adresas yra tokshttps://support.microsoft.com/zh ... ettings-for-windows

Dviejų straipsnių esmė yra ta, kad mums reikia modifikuoti registrą, o abu straipsniai tikriausiai yra modifikuoti šiomis dviem registro reikšmėmis



Tada išbandykite ir eikite į registrą CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

Dešiniuoju pelės mygtuku spustelėkite tuščią sritį ir pasirinkite Dword reikšmę, kaip parodyta paveikslėlyje



Sukurkite naują pavadinimą pavadinimu UrlSegmentMaxLength, nustatykite reikšmę į 2048 ir spustelėkite Gerai



UrlSegmentMaxCount nustatymas yra toks pat kaip aukščiau, reikšmė taip pat yra Dword 2048, spustelėkite Gerai.

Modifikavimas gali įsigalioti tik paleidus HTTP paslaugą iš naujo

  • Spustelėkite Pradėti, įveskite Cmd, tada spustelėkite Gerai.
  • Komandų eilutėje įveskite net stop http ir paspauskite Enter.
  • Komandų eilutėje įveskite net start http ir paspauskite Enter.


Tada iš naujo paleiskite IIS. Bandykite dar kartą, gerai, be klaidų, puikus sprendimas





Ankstesnis:Tipas "Objektas" apibrėžiamas nenurodytame rinkinyje. Reikia pridėti atsakymą į programą...
Kitą:"Ionic" kūrimo "Android" programų praktika (4): "Baidu" žemėlapio API padėties nustatymas
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com