0
我試圖張貼到一個網址,以生成一個頁面。 該網址在我的申請中的其他地方指定,並源自銀行。的HttpWebRequest/HttpWebResponse基地64問題
我需要指定的參數有: Pareq - 這是一個長的字符串,在我的應用 TermUrl未列名 - 一個url銀行使用回發到(我的應用程序) MD - 一些隨機字符串,以確定命令。
這裏的相關參數是pareq -
我在網頁上有下面的代碼,並回復於(響應)末,從請求創建一個頁面。 但是,我得到一個錯誤返回從發佈到url- PaReq消息不based64編碼。
從我的代碼,你可以看到我一直在努力,基地64編碼,但地方我要去錯了....
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();
你有個例子嗎?我似乎無法找到Server.Encode ...? – Alex 2009-08-12 12:24:35
@Alex,對不起,我忘了問你是否使用asp.net或windowsforms,在這種情況下你可以使用「HttpUtility.UrlEncode(string)」來代替。 – Cleiton 2009-08-12 12:56:52
我使用了以下內容: string data = String.Format(「PaReq = {0}&TermUrl = {1}&MD = {2}」,Server.UrlEncode(pareq),「www.return.com」,「wsdfskdjglke 「); Server.UrlEncode – Alex 2009-08-12 13:57:18