1

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

问题是我真的不明白该方法应该是什么,POST或者GET,基本上我们需要使用底层参数(而不是查询字符串)重定向到客户端,然后我们当前调用请求的页面必须重定向到客户端页面参数也一样。

我确实得到响应女巫基本上是标记,但这不是我想要的,我希望它重定向到付款页面,有人可以告诉我我做错了什么。谢谢这是我用于该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();
4

2 回答 2

2

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

于 2012-10-09T19:50:26.847 回答
2

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

于 2012-10-09T19:50:49.557 回答