Ich versuche, auf eine URL zu posten, um eine Seite zu generieren. Die URL ist an anderer Stelle in meiner Anwendung angegeben und stammt von einer Bank.HttpWebRequest/HttpWebResponse Base 64 Problem
Die Parameter i angeben müssen, sind: ParEQ - das ist eine lange Schnur, angegeben an anderer Stelle in meiner Anwendung TermUrl - eine URL verwendet die Bank (meine Anwendung) zu posten MD - einige zufällige Zeichenfolge zu identifizieren die Bestellung.
Der relevante Parameter ist hier die ParEQ -
ich den Code unten auf der Seite haben, und Response.Write (Antwort) am Ende, eine Seite aus der Anfrage zu erstellen. Allerdings bekomme ich einen Fehler von der Posted in url- PaReq Nachricht nicht based64 codiert.
Von meinem Code können Sie i 64 kodieren sehen habe versucht, es zu stützen, aber irgendwo falsch, ich werde ....
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(acsUrl);
byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(pareq);
string data = String.Format("PaReq={0}&TermUrl={1}&MD={2}", System.Convert.ToBase64String(toEncodeAsBytes), "www.return.com", "wsdfskdjglke");
byte[] buffer = Encoding.UTF8.GetBytes(data);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = buffer.Length;
req.CookieContainer = new CookieContainer(); // enable cookies
Stream reqst = req.GetRequestStream(); // add form data to request stream
reqst.Write(buffer, 0, buffer.Length);
reqst.Flush();
reqst.Close();
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
Stream resst = res.GetResponseStream();
StreamReader sr = new StreamReader(resst);
string response = sr.ReadToEnd();
Haben Sie ein Beispiel? Ich kann nicht scheinen, Server.Encode zu finden ...? – Alex
@Alex, tut mir leid, ich habe vergessen, Sie zu fragen, wenn Sie asp.net oder WindowsForms verwenden, in diesem Fall können Sie stattdessen "HttpUtility.UrlEncode (string)" verwenden. – Cleiton
Ich habe folgendes verwendet: string data = String.Format ("PaReq = {0} & TermUrl = {1} & MD = {2}", Server.UrlEncode (pareq), "www.return.com", "wsdfskdjglke "); Server.UrlEncode – Alex