解决12306.cn网站验证码获取提示“基础链接已经关闭: 未能为 SSL/TLS 安全通道创建信任关系“的问题


https://dynamic.12306.cn/otsweb/passCodeAction.do?rand=sjrand&0.8967564508222368

这是图片的访问网址html

你们看清楚了,是Https的网站,也就是说是须要证书才能访问了,这个只要获取证书就好了,方法以下
先直接在浏览器输入这个网站而后回车web



而后再单击以下图片位置数组



会出现以下界面浏览器



我我选择详细信息里面的 复制到文件网站



在下一步以后选择第二项目,就是Base64编码编码



给证书选择一个存放的位置这也是一下子写代码时须要的位置spa



而后下一步单击完成就好了code



看到这个时表示你成功了。
使用个人Httphelper的代码以下orm

/// <summary>
/// 字节数组生成图片
/// </summary>
/// <param name="Bytes">字节数组</param>
/// <returns>图片</returns>
private Image byteArrayToImage(byte[] Bytes)
{
    MemoryStream ms = new MemoryStream(Bytes);
 
    Image outputImg = Image.FromStream(ms);
    return outputImg;
 
}
 
private void Form1_Load(object sender, EventArgs e)
{
    HttpHelper http = new HttpHelper();
    HttpItem item = new HttpItem()
    {
        URL = "https://dynamic.12306.cn/otsweb/passCodeAction.do?rand=sjrand&0.8967564508222368",//URL     必需项    
        Method = "get",//URL     可选项 默认为Get   
        CerPath = "D:\\123.cer",//证书绝对路径     可选项不须要证书时能够不写这个参数      
        ResultType = ResultType.Byte
    };
    HttpResult result = http.GetHtml(item);
    //获取到的图片
    Image im = byteArrayToImage(result.ResultByte);
    pictureBox1.Image = im;
}

执行效果以下htm



呵呵到这里问题就解决了。

你们感受能够的话给推荐一下吧 或者给点建议也能够。很是感谢!

这上面是教你们怎么样使用Https网站的证书,若是单纯的说这个12306的网站是不须要的,由于他能够经过Http直接访问

http://dynamic.12306.cn/otsweb/passCodeAction.do?rand=sjrand&0.8967564508222368

就是上面的地址也是同样能够访问的。呵呵

原文地址:http://www.sufeinet.com/thread-4270-1-1.html

相关文章
相关标签/搜索