异步通知给业务集团

var result = SlRequest.GetHtmlNoShakeHand(url, Encoding.UTF8, 5000, SlHttpActionType.Post, rparam, false);

/// <summary>
        /// 获取url里面的html
        /// </summary>
        /// <param name="url"></param>
        /// <param name="encoding"></param>
        /// <param name="timeout"></param>
        /// <param name="httpActionType"></param>
        /// <param name="postParameter"></param>
        /// <returns></returns>
        public static string GetHtmlNoShakeHand(string url, Encoding encoding = null, int timeout = 1000, SlHttpActionType httpActionType = SlHttpActionType.Get, string postParameter = "",bool isHandShaking=true)
        {
            if (encoding == null)
            {
                encoding = Encoding.Default;
            }
            if (!isHandShaking)
            {
                System.Net.ServicePointManager.Expect100Continue = false;
            }
            var request = HttpWebRequest.Create(url);
            request.Proxy = null;
            request.Timeout = timeout;

request.Headers.Add("Accept-Encoding", "gzip,deflate");
            if (httpActionType == SlHttpActionType.Post)
            {
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";

if (!string.IsNullOrEmpty(postParameter))
                {
                    var postData = encoding.GetBytes(postParameter);

request.ContentLength = postData.Length;

using (Stream requestStream = request.GetRequestStream())
                    {
                        requestStream.Write(postData, 0, postData.Length);
                    }
                }
            }
            else
            {
                request.Method = "GET";
            }

using (var response = (HttpWebResponse)request.GetResponse())
            {
                if (response.ContentEncoding.ToLower().Contains("gzip"))
                {
                    using (GZipStream stream = new GZipStream(response.GetResponseStream(), CompressionMode.Decompress))
                    {
                        using (var streamReader = new StreamReader(stream, encoding))
                        {
                            var html = streamReader.ReadToEnd();
                            return html;
                        }
                    }
                }
                else if (response.ContentEncoding.ToLower().Contains("deflate"))
                {
                    using (DeflateStream stream = new DeflateStream(response.GetResponseStream(), CompressionMode.Decompress))
                    {
                        using (var streamReader = new StreamReader(stream, encoding))
                        {
                            var html = streamReader.ReadToEnd();
                            return html;
                        }
                    }
                }
                else
                {
                    using (var responseStream = response.GetResponseStream())
                    {
                        using (var streamReader = new StreamReader(responseStream, encoding))
                        {
                            var html = streamReader.ReadToEnd();
                            return html;
                        }
                    }
                }
            }
        }

时间: 2024-10-14 14:56:11

异步通知给业务集团的相关文章

支付宝异步通知notify_url与return_url

支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url. 现支付宝的通知有两类. A服务器通知,对应的参数为notify_url,支付宝通知使用POST方式 B页面跳转通知,对应的参数为return_url,支付宝通知使用GET方式 (通知地址不需要像以前一样去账户内设置,而是由客户在支付的时候通过参数传递给我地址. 例如 notify_url=http://www.xxx.com/notify_alipay.jsp 注意:www.XXX.com是您网站的域名,也可

使用OpenSSL做RSA签名验证 支付宝移动快捷支付 的server异步通知

因为业务须要.我们须要使用支付宝移动快捷支付做收款.支付宝给了我们<移动快捷支付应用集成接入包支付接口>见支付宝包<WS_SECURE_PAY_SDK>. 支付宝给的serverdemo仅仅有Java.C#.PHP三种,而我们server端使用的是C++. 这当中就涉及到接收支付宝的server异步通知.为了确保接收到的server异步通知来至支付宝,我们就必须验证支付宝的签名. 坑爹的是,原来PC端使用MD5做签名,预计支付宝考虑到移动端的风险更高,于是改用RSA做移动快捷支付应

QGC 支付宝无法异步通知及异步通知常见问题注意事项

支付宝异步通知参数(notify_url)路径常见问题注意事项: 1.不能是内网或者局域网地址,必须是外网可以访问的.否则无法调用!! 2.地址不能有session拦截,支付宝主动发送,所有session会失效:cookies.session等在此页面会失效!! 3.必须保证服务器异步通知页面(notify_url)上无任何字符,如空格.HTML标签.开发系统自带抛出的异常提示信息等: 4.程序执行完后必须打印输出“success”(不包含引号).如果商户反馈给支付宝的字符不是success这7

支付宝异步通知(notify_url)与return_url.

支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url. 现支付宝的通知有两类. A服务器通知,对应的参数为notify_url,支付宝通知使用POST方式 B页面跳转通知,对应的参数为return_url,支付宝通知使用GET方式 (通知地址不需要像以前一样去账户内设置,而是由客户在支付的时候通过参数传递给我地址. 例如 notify_url=http://www.xxx.com/notify_alipay.jsp 注意:www.XXX.com是您网站的域名,也可

使用OpenSSL做RSA签名验证 支付宝移动快捷支付 的服务器异步通知

由于业务需要,我们需要使用支付宝移动快捷支付做收款.支付宝给了我们<移动快捷支付应用集成接入包支付接口>见支付宝包<WS_SECURE_PAY_SDK>. 支付宝给的服务器demo只有Java.C#.PHP三种,而我们服务器端使用的是C++.这其中就涉及到接收支付宝的服务器异步通知.为了确保接收到的服务器异步通知来至支付宝,我们就必须验证支付宝的签名.坑爹的是,原来PC端使用MD5做签名,估计支付宝考虑到移动端的风险更高,于是改用RSA做移动快捷支付应用的签名.这无疑增加了我们迁移

支付宝手机网页即时到账接口(4)之交易接口服务器异步通知

前言 这篇文章主要讲诉系统调用支付宝手机网页即时交易接口后支付宝返回的异步通知. 支付宝对商户的请求数据处理完成后,会将处理的结果数据通过服务器主动通知的方式通知给商户网站.这些处理结果数据就是服务器异步通知参数. 特性 必须保证服务器异步通知页面(notify_url)上无任何字符,如空格.HTML标签.开发系统自带抛出的异常提示信息或错误页面等. 支付宝是用POST方式发送通知信息,因此该页面中获取参数的方式,如: request.Form("out_trade_no").$_PO

按键驱动异步通知

在此以前,我们都是让应用程序主动去读按键的状态,有没有一种情况,当驱动程序有数据时,主动去告诉应用程序,告诉它,有数据了,你赶紧来读吧.这种情况在linux里的专业术语就叫异步通知. 在按键的例子中异步通知可以理解为:当按键按下时,驱动程序会提醒(即触发)应用程序(通过信号signal来实现). 举一个例子:进程之间发信号 原来我们常用  kill 这个命令 : kill       -9    pid   kill这个命令就是一个发信号 发送者  :   kill 接收者  :   pid 信

微信支付之异步通知签名错误

开发过程中可能遇到 异步通知页面签名无法通过:那么原因何在呢? 我直说我碰到的这个 先看我错误时候微信回馈的xml <xml><appid><![CDATA[wx3a542a6f094310c5]]></appid> <bank_type><![CDATA[CFT]]></bank_type> <cash_fee><![CDATA[1]]></cash_fee> <fee_type

支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url

原文:http://blog.csdn.net/m13666368773/article/details/6888513/ 支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url. 现支付宝的通知有两类. 1-服务器通知(支付宝通知我们的服务器),对应的参数为notify_url,支付宝通知使用POST方式 2-页面跳转通知(支付成功后,从支付宝跳转到指定的地址),对应的参数为return_url,支付宝通知使用GET方式 (通知地址不需要像以前一样去账户内设置,而