簡體   English   中英

HttpWebRequest / HttpWebResponse Base 64問題

[英]HttpWebRequest / HttpWebResponse Base 64 problem

我正在嘗試發布到網址,以生成頁面。 該網址是在我的應用程序中的其他位置指定的,並且源自銀行。

我需要指定的參數是:Pareq-這是一個長字符串,在我的應用程序中的其他位置指定TermUrl-銀行用來發回(我的應用程序)MD的URL-一些隨機字符串來標識順序。

這里的相關參數是pareq-

我在頁面上具有以下代碼,並在最后具有Response.Write(response),以根據請求創建頁面。 但是,我收到從發布到url-PaReq消息的返回錯誤,該消息不是基於base64編碼的。

從我的代碼中,您可以看到我已嘗試對它進行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();

您需要先對Base64字符串進行編碼(使用Server.Encode),然后再將其與字符串連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM