https://dynamic.12306.cn/otsweb/passCodeAction.do?rand=sjrand&0.8967564508222368
這是圖片的訪問網址
大家看清楚了,是Https的網站,也就是說是需要證書才能訪問了,這個只要獲取證書就行了,方法如下
先直接在瀏覽器輸入這個網站然后回車

然后再單擊如下圖片位置

會出現如下界面

我我選擇詳細信息里面的 復制到文件

在下一步之后選擇第二項目,就是Base64編碼

給證書選擇一個存放的位置這也是一會兒寫代碼時需要的位置

然后下一步單擊完成就行了

看到這個時表示你成功了。
使用我的Httphelper的代碼如下
/// <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; }
執行效果如下

呵呵到這里問題就解決了。
大家感覺可以的話給推薦一下吧 或者給點建議也可以。非常感謝!
這上面是教大家怎么樣使用Https網站的證書,如果單純的說這個12306的網站是不需要的,因為他可以通過Http直接訪問
http://dynamic.12306.cn/otsweb/passCodeAction.do?rand=sjrand&0.8967564508222368
就是上面的地址也是一樣可以訪問的。呵呵
原文地址:http://www.sufeinet.com/thread-4270-1-1.html