|
是一个关于SecurityProtocol的问题。
问题描述:
第一次post提交数据时,设置SecurityProtocol = SecurityProtocolType.Tls12不起作用。
分析:
测试直接往一个地址POST数据。不管是否设置了SecurityProtocol = SecurityProtocolType.Tls12,返回都不正确。
接下来进行下面操作:
1.首先用GET访问同一域名下的地址。
设置 SecurityProtocol = SecurityProtocolType.Tls12 这个参数后,访问正常。
如果不设置,SecurityProtocol = SecurityProtocolType.Tls12 则返回 0,显示SSL没有建立安全管道。
这个操作说明,GET方法时,SecurityProtocol 设置是有效的。
2.在GET访问后,进行POST操作。
如果第1步设置了SecurityProtocol = SecurityProtocolType.Tls12,则此时,不管是否设置SecurityProtocol = SecurityProtocolType.Tls12,POST均可以正常返回。
而如果第1步没有设置,则此时不管是否设置SecurityProtocol = SecurityProtocolType.Tls12,POST均返回不正确。
猜测问题原因(偷个懒,没仔细看飞哥的代码,只是猜:)
可能是这句话ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;在POST操作的时候没有加上或者是没有放到合适的位置造成的。
飞哥抽空了可以看一下。
问题不大,但是不知道的话搞的挺头疼的。分析了好长时间才发现这个问题。
|
|