【发布时间】:2016-12-22 03:06:54
【问题描述】:
我需要发布到另一个 url / 服务器,但是我需要添加其他值,然后才能到达另一个 url / 服务器。所以我想发回我自己的服务器,将值添加到“post”,然后重定向到新的 url。
我已经进行了一些搜索,并且有几个关于在 stackoverflow 上进行类似操作的答案。包括一个我再也找不到的特别好的例子,它给出了 3 或 4 个不同的例子。 Post Method and Redirect With Some Values Without Form C# | Post Data To Url and Redirect | Post form data using HttpWebRequest
但是,它们似乎都创建了一组新的值来发布,而不是检索当前的一组发布值然后添加到它们。其中之一表示我无法使用 Response.Redirect() 发布。所以具体...
- 如何检索当前的“帖子”并向其中添加我自己的值。
- 然后我怎样才能将用户发送到具有该发布数据的另一个 URL?我希望用户在服务器上添加我自己的值后转到不同的页面。
这有可能是重复的(堆栈上的问题数量很大,这很有可能)......如果有人可以在其他地方找到答案,请告诉我。我目前正在编写代码,并将在我收到它的那一刻将其添加到问题中......今晚晚些时候。
编辑#1
public ActionResult Index(FormCollection form)
{
//string[] outGoingPostValues = new string[Request.Form.AllKeys.Length + 2];
string[] incomingPostValues = Request.Form.AllKeys;
foreach (string t in incomingPostValues)
{
Response.Write(t + ": " + Request.Form[t] + "<br>");
}
// add in two new keys
Response.Write("Value1: " + "value1" + "<br>");
Response.Write("Value2: " + "value2" + "<br>");
var url = "http://newURL.com";
WebRequest request = WebRequest.Create(url);
request.Method = "POST";
return Redirect("http://someurl.com");
}
我目前正在尝试通过重定向到我自己的视图并尝试打印出以下内容来测试它...
@{
string[] outGoingPostValues = new string[Request.Form.AllKeys.Length + 2];
string[] incomingPostValues = Response. ?????
foreach (string key in incomingPostValues)
{
Html.Raw(key);
}
}
【问题讨论】:
-
你有什么服务器?经典的asp? MVC?网页接口?
-
我正在使用 asp.net mvc。
-
您添加的那些新值是敏感信息吗?
-
jk_xp Imran Ali 我目前无法解决这个问题,因为我们似乎无法将用户发送到另一个 url(在浏览器中)并添加了帖子数据。重定向据说不包含“发布”数据。因此,我已经为你们提供了帮助,但无论谁修改他们的答案以最准确,我都会接受我将接受答案的实际拦截器。甚至此答案stackoverflow.com/questions/4015324/http-request-with-post/… 中的所有选项似乎都返回响应或等待用户未提供的响应。希望这是正确的。