提取外部网站的URL参数
目前我有一个MVC注册页面,在外部网站上实现。提取外部网站的URL参数
我的问题是我需要现在提取以前网站的查询字符串的某个参数,并将其读入我的页面注册用户到指定的组。
所以工作流程如下所示:
用户点击外部网站(例如:www.test1.com/default.aspx?Code=123asd),在查询字符串代码
用户选择立即注册并被定向到我的页面。
我将如何读取以前的查询字符串代码到我的MVC页面?我无法访问该网站。
编辑
我现在有一个foreach语句读取当前的查询字符串但这不拉以前的请求的查询字符串:
private static string getCode()
{
string nothing = null;
string[] queryStringParaArray = HttpContext.Current.Request.UrlReferrer.Query.Substring(1).Split('=');
if (queryStringParaArray.Length > 0)
{
foreach (var para in queryStringParaArray)
{
if (para.Contains("Code"))
return queryStringParaArray[2];
}
}
return nothing;
}
你试过HttpRequest.UrlReferrer
属性,它包含的网址客户端先前的请求链接到当前的URL。这会返回一个Uri
对象,因此您可以访问Query
属性以获取其查询字符串值。
HttpContext.Request.UrlReferrer
**旁注:由于已经评论,也不能保证被称为URL会出现,因此它可能是null
为好。因此,建议您将该查询字符串信息直接传递给您的MVC控制器,同时点击Register
按钮。
如果客户端被配置为发送该消息,如果源站点不是HTTPS,并且_if_您相信客户端不会更改它,因为它是客户端发送的头(因此可以更改)。 – CodeCaster
@CodeCaster,是的真的......在回答中添加了一个注释 – Rahul
@Rahul我目前在foreach语句中搜索参数“Code”。查询字符串不牵引前一个请求。我将在我的问题 –
有没有这样的事情,如MVC 7.你想要的也不能可靠地实现。第二件最好的事情是,如果你真的可以让链接网站追加他们的查询字符串到你的网址。 – CodeCaster