POST或GET方法?

时间:2012-10-09 19:46:24

标签: c# asp.net

我们有一个服务提供商,允许我们连接到他的付款页面进行付款,但他使用的代码是php,但我们希望在asp.net中进行。

问题是我真的不明白该方法应该是什么,POSTGET,基本上我们需要使用基础参数(不是查询字符串)重定向到客户端然后我们当前的页面调用请求必须重定向到带有参数的客户端页面。

我确实得到了响应女巫基本上是标记,但这不是我想要的,我希望它重定向到付款页面,有人可以告诉我我做错了什么。谢谢 这是我用于POST方法的代码:

string query = string.Format("description={0}&amount={1}&merchantIdent={2}&email={3}&transaction={4}&merchantKey={5}",
                             description.ToString(), amount.ToString(), merchantIdent.ToString(), email.ToString(), id.ToString(), merchantKey.ToString());

// Create the request back
string url = "https://www.webcash.co.za/pay";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

req.Method = "POST";
req.AllowAutoRedirect = true;
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = query.Length;
req.AllowAutoRedirect = true;

StreamWriter stOut = new StreamWriter(req.GetRequestStream(),System.Text.Encoding.ASCII);
stOut.Write(query);
stOut.Close();

// Do the request
StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream());
string response = stIn.ReadToEnd();
stIn.Close();

2 个答案:

答案 0 :(得分:2)

不确定我是否完全理解你的问题,但正如你的标题所说,这是POST和GET之间的区别: GET方法通过url传递变量。这可能是实际的或不切实际的(例如,如果您打算将敏感材料传递到另一个页面) POST方法不会通过url传递变量,它会在后台传递变量。 你需要决定哪种更适合你的情况。

答案 1 :(得分:2)

通常GET是幂等的(意味着它们不会改变数据)。如果您希望能够发出请求而不更改任何内容,请使用GET。如果您正在执行某种更新/处理/等,请使用POST。