2012-10-09 61 views
1

我们有一家服务提供商,允许我们连接到他的付款页面,但是他使用的代码是php,但我们希望在asp.net中完成。POST或GET方法?

问题是,我真的不明白的方法应该是什么,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(); 
+0

您可能不会在这里提出正确的问题......当提交给您的银行的增值税时,您将被困在一个ASPNET表格中,该表格会回传给自己...不确定,但我是否正确这个? – IrishChieftain

回答

2

不知道我完全理解你的问题,但作为您的标题所说,这里是POST之间的区别和GET: GET方法通过URL传递变量。这可能是实际的或不切实际的(例如,如果您计划将敏感内容传递到另一个页面) POST方法不会通过url传递变量,它会在场景后面传递变量。 您需要决定哪种更适合您的情况。

+0

谢谢,是的,你说的是正确的,但它有可能做到服务器端? – jinx

+0

@jinx服务器可以选择处理GET和POST请求相同,或者他们可以选择以不同的方式处理它们。通常,PHP代码会希望表单提交使用POST(您需要自己去处理这两个问题),否则不会处理它们,而ASP代码通常会以相同的方式处理它们(您需要采取措施排除一个)。如果GET不起作用,那么很可能他们的PHP代码特别期望该页面的POST请求执行所需的操作。 – Servy

2

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