[英]Unable to pass a URL in GET request to a RESTful web service in C#
我在項目中遇到了意外問題。 問題是我的代碼中動態生成了一個URL,我必須通過GET請求將其提交給RESTful Web服務。 例如,要提交的URL如下所示: http://mysampleserver.com:8080/calc/8999/bpaX
: http://mysampleserver.com:8080/calc/8999/bpaX
: http://mysampleserver.com:8080/calc/8999/bpaX
RESTful服務器接受URL作為其最后一個參數,格式如下:
http://myRestfulAPI.domainname.com/capture/bbbb/http://mysampleserver.com:8080/calc/8999/bpaX
我還使用System.Net.HttpUtility.UrlEncode(....)首先對“要提交的URL”進行編碼,以將其合並到RESTful服務調用中。
這導致出現以下錯誤:
System.Web.HttpException:從客戶端(:)檢測到潛在危險的Request.Path值
為了解決該問題,我按照每個網頁上介紹的步驟進行操作,但是沒有運氣。
我正在使用MVC 4在C#中實現RESTful API。
任何線索或想法如何解決這個showstopper問題?
我至少可以想到兩種解決方案。
您需要對查詢字符串(mvc參數)中的URL進行Url.Encode,否則它將被解釋為MVC解碼為參數的更多URL編碼。 嘗試類似@ Url.Encode(yourStringObject)之類的東西,並將其作為最后一個值或作為查詢(即&q = url)傳遞
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.