1.用户名密码设置的安全性

想都不用想,一定不能写在代码里面

同时要考虑是否有必要对密码进行加密。

(比如,密码作为服务器参数进行配置,我们可以把用户名以及密码明文写在配置中吗?)

https://blog.csdn.net/sxzlc/article/details/103359472

加密的时候,可以考虑AES加密(Advanced Encryption Standard)

https://blog.csdn.net/sxzlc/article/details/103450258  (文章中的No.20)

使用AES加密时,加密解码需要一个KEY,这个KEY我们配置到哪里。

这都是我们需要考虑的问题。

2.连接超时的问题

一定要设置TimeOut时间

本次使用HttpClient连接外系统,不指定超时时间时,等了80多秒。。。

3.各种特殊情况的处理

用户名密码没有取得时如何处理

发生异常时如果处理

・ 连接不上(连接超时)

・ 对于返回的数据处理时,发生异常(IOException)

HTTP_STATUS_CODE 不是「200」时如何处理

      对于异常的捕获处理

            ・ 确认能捕获所有异常,不能因为连接了外系统,发生想定外情况,系统就崩了

(目前我的做法时,在处理函数的里面,捕获能预测的异常,对于函数,声明为throws Excepton

调用函数时,再次捕获异常,确保即使发生想定外的情况,程序也能正常运行。)

4.Log情报的输出

     很有必要,当发生问题时,有助于我们的调查

------------------------------------------------

■相关知识

HttpClient设置时间超时(本次采用4.3,已验证好用)

4.3之前
client.setConnectionTimeout(10000); 
client.setTimeout(10000);

4.3

// 连接时间超时
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,10000);

// 和读取数据超时
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,10000);

4.3之后
RequestConfig requestConfig =  RequestConfig.custom().setSocketTimeout(10000).setConnectTimeout(10000).build();
httpGet.setConfig(requestConfig);

-------------------------------------

・连接方法

https://www.cnblogs.com/jichi/p/11331485.html

・连接超时参数解读

https://blog.csdn.net/sfq19881224/article/details/47343313

-------------------------------------

与外系统连接时,需要考虑的问题相关推荐

  1. SSH内网能连通外网连接时拒绝

    最近遇到怪事,家中的树莓派连接到路由器,路由器在设置派为固定地址,并为设置DMZ主机. 开启SSH服务,端口默认22,关闭ROOT用户连接,默认所有地址可连. 树莓派开启后经常遇到内网中PC通过内网地 ...

  2. BW作为源系统连接时,激活DSO或其他模型时提示8*数据源不存在,无法激活

    前段时间做了下BPC与BW系统的连接,BW系统作为源系统.连好后,却发现BW系统里面无法激活相关的模型,激活的时候提示:8*数据 源不存在!在网上搜了很长时间,没找着相关的解决文档,后来在BW系统点进 ...

  3. 外部系统连接SFDC,获取SFDC侧的数据

    目录 ■1.前言 ■2.操作 1.建立连接 2.取得数据 2.1.设定Head情报 2.2.发送请求(使用GET方式发送请求,不然会返回 405 ) ■相关知识 0.对于URL和URI的理解 1.对于 ...

  4. 设计程序时,注意和外系统连携相关的处理

    ■前言 今天和同事讨论了一个业务代码实现的问题. ●业务需求如下: 我们的系统每申请一条记录,都会在申请一览中显示. 在申请过程中,会和外系统连携,从而来检验我们入力的一些值的状态. (↑补足说明1: ...

  5. 计算机无法连接无线信号,win7系统连接无线信号时提示Windows无法连接到路由器名称的四种解决方法...

    现如今网络发展速度非常快,无线网络已经普及了,使用率高了遇到的问题也就多了.比如有时候笔记本win7系统连接无线信号时出现"Windows无法连接到路由器名称"(如下图所示),该如 ...

  6. 【解决方法(最详细)】WIN10系统使用Teamviewer远程连接时被检测出商业用途

    [解决方法(最详细)]笔记本电脑WIN10系统使用Teamviewer远程连接时被检测出商业用途 情况简介 解决流程 完全卸载掉原有的Teamviewer软件 更改笔记本电脑的mac地址 有线网卡的修 ...

  7. win10系统远程连接时发生身份验证错误的解决方法

    win10系统远程连接时发生身份验证错误的解决方法 解决这个问题有2个方法,百度了很久找到的: 1.在当前提示错误的电脑上操作,运行输入gpedit.msc 进入[打开组策略,依次展开"计算 ...

  8. 连接网络计算机输入网络密码,win10系统共享文件时提示输入网络密码的详细步骤...

    有关win10系统共享文件时提示输入网络密码的操作方法想必大家有所耳闻.但是能够对win10系统共享文件时提示输入网络密码进行实际操作的人却不多.其实解决win10系统共享文件时提示输入网络密码的问题 ...

  9. 选择室内地图提供商时需要考虑的12件事

    当你在户外导航时,没有比通过GPS技术更好的方法来确定你的位置.从航海船只到客机,甚至是徒步旅行的个人,每个人都在使用户外地图解决方案. 但是GPS不能穿透建筑物,那么如果你需要绘制一个室内空间的地图 ...

最新文章

  1. Datawhale Ring限量100份来了!
  2. C++类的使用(四)—— 继承
  3. 刨根问底Objective-C Runtime(2)- Object Class Meta Class
  4. android 自定义控件央视,Android自定义ViewGroup之第一次接触ViewGroup
  5. 【Linux】一步一步学Linux——sum命令(234)
  6. mysql set类型 查询,MYSQL SET字段类型怎么查询
  7. AJAX Control Toolkit 控件学习(转自csdn山巅)
  8. Nacos: Namespace 和 Endpoint 在生产环境下的最佳实践
  9. 论文英文参考文献[10]的时候后面多空格_英文学术论文标点符号使用规范
  10. 设计灵感|想让海报设计更丰富?可以试试重复
  11. NotFoundHttpException
  12. bzoj 1264: [AHOI2006]基因匹配Match(树状数组)
  13. 自己手写WEB程序框架并执行
  14. matlab软件及基础实验第8单元,MATLAB软件与基础数学实验
  15. c语言 乘法计算器,C语言:简单计算器
  16. 信安实验-RSA(备课)
  17. php 时间戳 最大,PHP中大于2038年时间戳的问题处理
  18. 2021 Python入门资料汇总
  19. Lua热更原理以及加载规则
  20. PS5连接OPPO K9电视不支持2160P/4K

热门文章

  1. java元组_Java元组Tuple介绍与使用
  2. python中逻辑运算_Python 逻辑运算之 'and' 和 'or'
  3. R语言中管道操作 %%, %T%, %$% 和 %%
  4. Eclipse用法和技巧十一:分栏显示
  5. 《构建高性能Web站点》观后感
  6. [HTML5实现人工智能]小游戏《井字棋》发布,据说IQ上200才能赢
  7. 华为中级编程题目python_华为研发工程师编程题2019(python3)
  8. Aop_AspectJ实现
  9. 数据库安全问题?这里有10个最常见的
  10. ApsaraDB for SQL Server 混合云场景一种解决方案