リクエストの長さが320文字を超えると、400 Bad Request - 無効なURLが発生します。質問する

リクエストの長さが320文字を超えると、400 Bad Request - 無効なURLが発生します。質問する

原因は不明です。Web.config にも以下を追加しました。maxUrlLength="1024" maxQueryStringLength="1024" requestPathInvalidCharacters="" maxRequestLength="1024"relaxedUrlToFileSystemMapping="true" uri パラメータをエンコードしてリクエストを送信しましたが、常に無効な URL が返されます。Url:http://localhost:51840/api/xxxxxxx/xxxxxxxxxxxx/n4cEF3OM0LC0q8I6OMe0XdHo8evXnoeyC06A%252fL%252fu0a%252f6e0RQrdxl2%252fPkSKNfh4aEQm78TReX1zIfGDB1bgH%252bGBEI%252fBw6i0DwQ6 参照%252b3dk6yjs1UZqqICQye6QqVX8bJT%252fBK7GE8a22FeXJiPVtEgFRmp4WcHc4pIRHaE6QGK28kiASGFfUC9tDdRZhLfmYJsluGpsseSUOc5Inxlf3fTFNe7sg7gixrLTlwhfJIATZWWsPc%252bfo6BITTFA%253d%253d

URL を以下のように短縮すると正常に動作します。http://localhost:51840/api/xxxxxxx/xxxxxxxxxxxx/n4cEF3OM0LC0q8I6OMe0XdHo8evXnoeyC06A%252fL%252fu0a%252f6e0RQrdxl2%252fPkSKNfh4aEQm78TReX1zIfGDB1bgH%252bGBEI%252fBw 参照6i0DwQ6%252b3dk6yjs1UZqqICQye6QqVX8bJT%252fBK7GE8a22FeXJiPVtEgFRmp4WcHc4pIRHaE6QGK28kiASGFfUC9tDdRZhLfmYJsluGpsseSUOc5Inxlf3fTFNe7sg7gixrLTlwhfJIATZWWsPc%252bfo6BI

最後の 10 文字を超えると、不正なリクエストになります。ご協力いただければ幸いです。

ベストアンサー1

私の経験を記録します:

私の問題は、質問のコメントで @Mark が指摘した問題でした:

デフォルトでは、URLセグメントの最大長は260です。

彼はレジストリでこの制限を増やすことを提案しましたが、私はこの種のトラブルは望んでいませんでした。@Vignesh T の提案の方がうまくいきました:

URLセグメントをクエリ文字列パラメータに置き換えたら正常に動作しました

要約すると、次のようにする代わりに:

http://path.to.website/very-long-string-goes-here/

今やりました:

http://path.to.website/?key=very-long-string-goes-here

おすすめ記事