asp.net-中国银行接口后台POST提交

问题描述

中国银行接口后台POST提交

中国银行退款接口,在后台POST提交不走页面。在请求是报错请求被中止: 未能创建 SSL/TLS 安全通道。代码如下
string Number = CreateRandomCode(30);
posturl = "https://ebspay.boc.cn/PGWPortal/RefundOrder.do";

        pastData = ChinaBlankConfig.merchantNo + "|" + Number + "|" + "001" + "|" + 0.01 + "|" + "20121206SHKF000004";
        byte[] _bytedata = System.Text.Encoding.UTF8.GetBytes(pastData);
        string _strSignData = PKCS7Tool.SignatureMessage(cerPath, cerWord, _bytedata, string.Empty);
        string _singDate = "merchantNo=" + ChinaBlankConfig.merchantNo + "&mRefundSeq=" + Number + "&curCode=001" + "&refundAmount=" + 0.01 + "&orderNo=20121206SHKF000004" + "&signData=" + _strSignData;
        string str = RequestAndResponse(posturl, _singDate);
                     //初始化请求对象
    var request = WebRequest.Create(url) as HttpWebRequest;
    //X509证书
    //X509Certificate2 cert = new System.Security.Cryptography.X509Certificates.X509Certificate2(cerPath, "111111", X509KeyStorageFlags.MachineKeySet);
    //request.ClientCertificates.Add(cert);
    X509Certificate cert = new System.Security.Cryptography.X509Certificates.X509Certificate(cerPath, "111111");
    X509Certificate cert2 = new System.Security.Cryptography.X509Certificates.X509Certificate(keyStorePath);
    request.ClientCertificates.Add(cert2);
    request.ClientCertificates.Add(cert);
    request.ImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;

    //设定验证回调(总是同意)
    ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
    request.Method = "POST";
    request.ContentType = "application/x-www-form-urlencoded";
    request.ContentLength = Encoding.UTF8.GetByteCount(postData);
    request.Timeout = 300000;
    request.ReadWriteTimeout = 300000;
    //将来数据内容写入传输数据流中,并传输
    using (var requestStream = request.GetRequestStream())
    {
        using (var streamWriter = new StreamWriter(requestStream))
        {
            streamWriter.Write(postData);
        }
    }

    //初始化响应对象
    var response = request.GetResponse() as HttpWebResponse;

    //从传输流中对象返回的数据
    using (var responseStream = response.GetResponseStream())
    {
        using (var streamReader = new StreamReader(responseStream))
        {
            return streamReader.ReadToEnd();
        }
    }

解决方案

对应的HTTPS接口可以直接请求吗,你可以用Chrome的postman等模拟提交一下测试一下,看服务器是否HTTPS接口有问题

时间: 2024-08-03 09:33:11

asp.net-中国银行接口后台POST提交的相关文章

return- c# asp.net前后和后台各有一个验证 alert("提交成功,")写在后台

问题描述 c# asp.net前后和后台各有一个验证 alert("提交成功,")写在后台 前后和后台各有一个验证 alert("提交成功,")写在后台 现在前台有一个验证没有通过 但是后台也提交了 前台怎么样return 都没用 怎么让它不提交? 解决方案 前台要用return false才有效.http://blog.csdn.net/chenxingyi123/article/details/6315692 解决方案二: if(true) { }else {

webapi-.NET MVC4.0如何从后台POST提交数据给WEBapi,不用AJAX 形式 post 提交?

问题描述 .NET MVC4.0如何从后台POST提交数据给WEBapi,不用AJAX 形式 post 提交? .NET MVC4.0如何从后台POST提交数据给WEBapi,不用AJAX 形式 post 提交? 解决方案 http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client 微软给的例子 解决方案二: 后台用httpwebrequest对象,前台才是ajax,这个要分清出来

ASP如何实现禁止站外提交表单

为了使asp尽量减少服务器端的工作量,就应该多使用javascript,把所有提交字段使用javascript或vbscript检测后提交给服务器,这样服务器就不必再作检测,而在提交时可能会有人修改script从本地提交,这样便存在安全提交的问题,所以应该要求从服务器断路径提交,使其他地址提交提交无无效: 代码如下: <% server_v1=Cstr(Request.ServerVariables("HTTP_REFERER")) server_v2=Cstr(Request.

在ASP应用程序中限制重复提交同一表单

程序|重复|重复提交|重复提交    在Internet上我们每天都会遇到数不清的表单,也看到其中大部分并没有限制用户多次提交同一个表单.缺乏这种限制有时候会产生某些预料不到的结果,如重复订阅邮件服务或重复投票等.或许一些asp初学者并不清楚在asp应用中如何限制重复提交同一表单,所以在这里向大家介绍在ASP应用中防止用户在当前会话期间多次提交同一表单的一个简单方法.    这个工作主要由四个子程序组成,在较为简单的应用场合,你只要将这些代码放在包含文件中直接引用即可:对于那些较为复杂的环境,我

asp.net中mvc使用ajax提交参数的匹配问题解决探讨

本文为大家介绍下使用javaScript解决asp.net中mvc使用ajax提交参数的匹配问题,遇到类似情况的朋友可以参考下,希望对大家有所帮助   想到在asp.net的mvc中如果使用ajax向服务端传递参数时如果参数是一个类或者是个数组(或List集合)以及更复杂的对象时,服务端总是会发 生取不到值的情况,当然网上也有很多解决的例子,但都是在服务端想办法来解决的(比如将json转换为字符串,再在服务端反序列化为一个对象),为何不能 在客户端就把这个问题搞定. 其实问题没那么复杂,那是因为

asp.net来实现后台每隔一段时间就执行一下类里里面内容

问题描述 asp.net来实现后台每隔一段时间就执行一下类里里面内容 用asp.net怎么来实现后台每隔一段时间就执行一下类里里面内容. 解决方案 加一个页面,然后用windows service定时访问这个页面 解决方案二: 使用AJAX Extensions 内的几个控件,在Timer事件里,定时执行类里面调用的方法.

asp.net(用户后台无数据表,而是用asp.net配置添加用户管理员的。)

问题描述 asp.net(用户后台无数据表,而是用asp.net配置添加用户管理员的.) 用户后台无数据表,而是用asp.net配置添加用户管理员的.那如何实现用户登录界面,代码该怎么写

ASP注册页面使用ajax post提交无法成功,通过抓包发现POST数据长度为0,求错误在那

问题描述 ASP注册页面使用ajax post提交无法成功,通过抓包发现POST数据长度为0,求错误在那 <!DOCTYPE html> <html lang="en"> <head> <title>微信通用平台管理系统注册</title><meta charset="UTF-8" /> <meta name="viewport" content="width

c# asp服务端控件每次提交的时候都会刷新load 一刷新就会出错误

问题描述 c# asp服务端控件每次提交的时候都会刷新load 一刷新就会出错误 c# asp服务端控件每次提交的时候都会刷新load 一刷新就会出错误 可以让它不刷新提交吗?(求思路)) 解决方案 在pageload处,判断ispostback 解决方案二: Page_Load里加个判断 if(!IsPostBack) { //这里面写代码 } 还有一刷新就会出错误,明显代码有问题. 解决方案三: 不明白 ajax用的少 能详细点吗?