webClient请求JAVA超时解决方案
private class MyWebClient: WebClient {
protected override WebRequest GetWebRequest(Uri uri) {
WebRequest w = base.GetWebRequest(uri);
w.Timeout = * * ;
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,,data.Length);
cs.FlushFinalBlock();
}
return Convert.ToBase64String(ms.ToArray());
}
}
} catch {
return "";
}
}
webClient请求JAVA超时解决方案的更多相关文章
- ajax请求超时解决方案
设置timeout的时间,通过检测complete时status的值判断请求是否超时,如果超时执行响应的操作. var ajaxTimeoutTest=$.ajax({ url:'',//请求地址 t ...
- Get请求,Post请求乱码问题解决方案
下面以两种常见的请求方式为例讲解乱码问题的解决方法. 1.Post方式请求乱码. 自从Tomcat5.x以来,Get方式和Post方式提交的请求,tomcat会采用不同的方式来处理编码. 对于Post ...
- C# 中使用WebClient 请求 https
WebClient 请求 启用SSL的站点 时,如果站点的证书是不可信的,请求会被阻止,解决办法如下: 添加以下代码: ServicePointManager.ServerCertificateVal ...
- Linux 下 SSH 远程超时解决方案
Linux 下 SSH 远程超时解决方案 今天突然看到一个问题说是如何解决SSH远程超时的问题. 找了一点资料.用于解决这个需求~ 第一种:OpenSSH 配置文件设置 位于112行的 "C ...
- jquery ajax请求数据超时设置
var ajaxTimeoutTest = $.ajax({ url:'', //请求的URL timeout : 1000, //超时时间设置,单位毫秒 type : 'get', //请求方式,g ...
- 【转载】Extjs设置Ajax请求的超时时间timeout
在Extjs中的Ajax请求中,Ext.Ajax.request 默认超时时间是30秒,有时候我们有比较耗时的操作需要设置更长时间,此时我们就需要修改Ext.Ajax.Requset的超时时间为更长, ...
- httpclient: 设置请求的超时时间,连接超时时间等
httpclient: 设置请求的超时时间,连接超时时间等 public static void main(String[] args) throws Exception{ //创建httpclien ...
- Java中对比单继承与多继承的优劣,以及java的解决方案
继承是一种面相对象的基本特征之一,但在具体语言的语法设计中有两种方式:单继承和多继承. 所谓多继承是指一个子类可以拥有多个父类:单继承则是一个子类只拥有一个父类. 单继承与多继承的优劣: 多继承优点在 ...
- ajax 请求成功,但是后台feigin请求超时解决方案
========后台请求数据时间较长,报feigin超时错误====== fegin报错如下: feign.RetryableException: Read timed out executing P ...
随机推荐
- QSS总结以及最近做的Qt项目
什么是QSS QSS称为Qt Style Sheets也就是Qt样式表,它是Qt提供的一种用来自定义控件外观的机制.QSS大量参考了CSS的内容,只不过QSS的功能比CSS要弱很多,体现在选择器要少, ...
- Asp.Net Web API 2第十八课——Working with Entity Relations in OData
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html. 本文的示例代码的下载地址 ...
- [Microsoft Test Manager]CodeUI初探
开发环境: Widnows8 Microsoft Visual Studio Ultimate 2012 1. 新建一个 Windows Forms Application Figue1 Cr ...
- Sharing count on Facebook, Twitter, and LinkedIn
最近一段时间一直在研究有关Social Network的东西,这里有几个在当前国外主流社交网站上用来显示分享数量的API,记录一下,今后可能会用得着. Facebook Facebook将FQL(Fa ...
- 如何启动/停止/重启MySQL
启动.停止.重启 MySQL 是每个拥有独立主机的站长必须要撑握的操作,下面为大家简单介绍一下操作方法: 一.启动方式 1.使用 service 启动:service mysqld start 2.使 ...
- Bootstrap中水平排列的表单form-inline
<html> <head> <title>初识Bootstrap</title> <meta charset="utf-8"& ...
- Python面试题(一)
**晚上在公司的论坛上看到一道面试题,题目如下:随机给定一字符串和字符,要求重排,比如:'abde','c'.重排之后变成'abcde' **看到他们给的答案很多都是二分法重排,既然是字符类的处理,当 ...
- php 3种常见设计模式
1.工厂模式 <?php namespace Facebab; class Factory { static function createDatabase () { return new Da ...
- SDWebImage ReadMe.md文档简单说明
SDWebImage ReadMe.md 文档 附:SDWebImage框架github下载地址:https://github.com/rs/SDWebImage 注1:该文章简单翻译了SDWebIm ...
- Linux下查看mysql、apache是否安装,安装,卸载等操作
Linux下查看mysql.apache是否安装,并卸载. 指令 ps -ef|grep mysql 得出结果 root ? :: /bin/sh /usr/ ...