C# web Api 长 url 不工作
C# web Api Long url Not working
我有以下网站 API url 无法正常工作
www.localproject.com:843/api/user/validate/eyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9eyJ0ZW1wVXJsIjoie1wiQ3VzdG9tZXJJZFwiOjEsXCJDb3Vyc2VJZFwiOjEsXCJUb2tlblwiOm51bGwsXCJFeHBpcnlcIjpcIjIwMTgtMDQtMThUMTc6MzU6MTMuOTQ2MjM2NCswNTowMFwifSJ9uvm7jZ3us5UFa1hqh4bod2cSamcxF2rRUbfxs7DHQs
每当我点击上面的内容时 url 它会给我以下错误
Bad Request - Invalid URL
HTTP Error 400. The request URL is invalid.
我也将 web.config 更新为这个,但仍然无法正常工作。
<httpRuntime targetFramework="4.6.1" maxRequestLength="20480" maxUrlLength="6144" relaxedUrlToFileSystemMapping="true" />
我也尝试过编辑注册表,但没有成功。
如何允许长 url 使用网络 api?
默认情况下,HTTP.sys 允许 255 个段,每个段的最大长度为 260 个字符。 260 个字符的限制是您看到此问题的原因。
要解决此问题,您需要更改注册表。
导航:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
添加一个名为 UrlSegmentMaxLength 的 DWORD 值并将其值设置为 500 或 1000 之类的值。
虽然您可能可以通过命令行重新启动 HTTP 系统服务来避免重新启动 "net stop http" 和 "net start http",但是因为其他一些服务依赖于此服务,例如 WWW、Print Spooler、 SSDP Discovery 等。我仍然会建议重新启动服务器。
我有以下网站 API url 无法正常工作
www.localproject.com:843/api/user/validate/eyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9eyJ0ZW1wVXJsIjoie1wiQ3VzdG9tZXJJZFwiOjEsXCJDb3Vyc2VJZFwiOjEsXCJUb2tlblwiOm51bGwsXCJFeHBpcnlcIjpcIjIwMTgtMDQtMThUMTc6MzU6MTMuOTQ2MjM2NCswNTowMFwifSJ9uvm7jZ3us5UFa1hqh4bod2cSamcxF2rRUbfxs7DHQs
每当我点击上面的内容时 url 它会给我以下错误
Bad Request - Invalid URL
HTTP Error 400. The request URL is invalid.
我也将 web.config 更新为这个,但仍然无法正常工作。
<httpRuntime targetFramework="4.6.1" maxRequestLength="20480" maxUrlLength="6144" relaxedUrlToFileSystemMapping="true" />
我也尝试过编辑注册表,但没有成功。
如何允许长 url 使用网络 api?
默认情况下,HTTP.sys 允许 255 个段,每个段的最大长度为 260 个字符。 260 个字符的限制是您看到此问题的原因。
要解决此问题,您需要更改注册表。 导航: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
添加一个名为 UrlSegmentMaxLength 的 DWORD 值并将其值设置为 500 或 1000 之类的值。
虽然您可能可以通过命令行重新启动 HTTP 系统服务来避免重新启动 "net stop http" 和 "net start http",但是因为其他一些服务依赖于此服务,例如 WWW、Print Spooler、 SSDP Discovery 等。我仍然会建议重新启动服务器。