0

私は ASP.NET MVC 3 を使用しており、アクションの 1 つのパラメーターとして URL を受け入れたいと考えています。しかし、以下の例では「HTTP Error 400 - Bad Request.」というエラーが表示されます。この問題を解決するにはどうすればよいですか?

例:

http://localhost:8343/http://google.com

Global.asax.cs:

routes.MapRoute(
                "Default", // Route name
                "{hostUrl}", // URL with parameters
                new { controller = "Home", action = "Index", hostUrl = UrlParameter.Optional } // Parameter defaults
            );
4

3 に答える 3

1

使用する

HttpUtility.UrlEncode

また

Server.URLEncode

エンコードを行う場所によって異なります。

于 2012-09-06T21:43:43.880 に答える
1

パラメータにはURLエンコードを使用する必要がありますhttp://google.com

だから、ここをナビゲートします:

http://localhost:8343/http%3A%2F%2Fgoogle.com

(オンラインURLエンコーダツールを使用しました。)

于 2012-09-06T21:39:27.057 に答える
1

これらの手順に従って修正しました。

  • Web プロジェクトのプロパティを [IIS ローカル サーバーを使用する] に変更し、[IIS Express を使用する] をオンにします。
  • 内部の Web.config に次の設定を追加します。
<httpRuntime requestPathInvalidCharacters=""/>
于 2012-09-10T22:16:37.360 に答える