zoukankan      html  css  js  c++  java
  • webClient请求JAVA超时解决方案

        private class MyWebClient: WebClient {
                protected override WebRequest GetWebRequest(Uri uri) {
                    WebRequest w = base.GetWebRequest(uri);
                    w.Timeout = 20 * 60 * 1000;
                    return w;
                }
            }
            
    
    
            public static string  GetInnerModel(string str) {
                try {
    
            
    
                    string url = "http://xx.com/AgileWSPX/services/rest/transferModel/";
                    var rando = Random();
                    var postString = str;
                    var date = DateTime.Now.ToString("mmssffff");
                    byte[] postData = Encoding.UTF8.GetBytes(postString);
    
                    var code = Encrypt(date + rando,"dahuagdp");
    
                    MyWebClient client = new MyWebClient();
                    client.Headers.Add("Nonce","" + rando + "");
                    client.Headers.Add("Authorization","" + code + "");
                    client.Headers.Add("Content-Type","application/x-www-form-urlencoded;");
    
                    var httpurl = url + date;
                    byte[] responseData = client.UploadData(httpurl,"POST",postData);//得到返回字符流 
                    var data = Encoding.UTF8.GetString(responseData);
    
                    if(!string.IsNullOrEmpty(data)) {
    
                        var dataList = data.Split(',').Distinct();
                        data = string.Join(",",dataList.Select(p => p));
                    }
                    return data;
                } catch(Exception ex)
                {
                    return "";
                }
    
    
            }
            private static string Random() {
                return DateTime.Now.ToString("mmssffff");
            }
            public static string Encrypt(string pToDecrypt,string sKey) {
                try {
                    byte[] data = Encoding.UTF8.GetBytes(pToDecrypt);
                    using(var des = new DESCryptoServiceProvider()) {
                        des.Key = Encoding.UTF8.GetBytes(sKey);
                        des.IV = Encoding.UTF8.GetBytes(sKey);
                        using(MemoryStream ms = new MemoryStream()) {
                            using(var cs = new CryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write)) {
                                cs.Write(data,0,data.Length);
                                cs.FlushFinalBlock();
                            }
                            return Convert.ToBase64String(ms.ToArray());
                        }
                    }
                } catch {
                    return "";
                }
            }
  • 相关阅读:
    JBoss下配置数据源加密
    线程返回值的方式介绍
    @Async java 异步方法
    spring 源码下载地址
    springmvc maven 入门及页面拿不到controller的值 显示${message} el表达式不起作用
    mysql常用函数
    eclipse 开发常见问题集锦
    linux 常用命令及零散知识
    js一些注意事项
    liunx 免密登录远程主机
  • 原文地址:https://www.cnblogs.com/flyfish2012/p/5649870.html
Copyright © 2011-2022 走看看