Tôi muốn chuyển thông số trang web cho webapi, nhưng nó không hoạt động.Vượt qua tham số dài để asp.net webapi
Webapiconfig: điều khiển api
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Web: lấy param và trả lại htmlsnapshot của trang web khác
[HttpGet]
[Route("api/snapshot/{param}")]
public string GetSnapShot(string param)
{
string fragment = param;
string content = "";
if (fragment != null)
{
int firstSlash = fragment.IndexOf("/");
if (firstSlash <= 2)
fragment = fragment.Substring(firstSlash + 1, fragment.Length - firstSlash - 1);
using (IWebDriver driver = new PhantomJSDriver())
{
string url = String.Format("http://domain.com/{0}", fragment);
driver.Navigate().GoToUrl(url);
content = driver.PageSource;
}
}
return content;
}
nếu tôi cố gắng api/chụp/du-lieu -> nhấn điều khiển tốt nhưng nếu tôi chuyển sang một cách phức tạp hơn như
api/snapshot /% 2Fdu-lieu% 2Fbong-da-y-Serie-A% 2Fseason% 2F1% 2Ftong-quan -> không hoạt động, trả lại 404
Vui lòng thông báo.
Không, tôi chỉ muốn cho nó một param độc đáo như trang web khác sẽ vượt qua trong một params năng động, WebAPI tôi trả về htmlsnapshot. Tôi đã cập nhật mã của mình ở trên. –
là có bất kỳ thông báo lỗi hoặc một cái gì đó mà xác định "không làm việc"? –
nó trả về lỗi 404. Cảm ơn –