C++用socket访问支持https协议网站的方法
最近在做一个测试程序,用的是C++语言,程序是基于socket,通过socket访问支持https协议网站,如https://www.google.com.hk
访问支持http协议的程序已经写出来了,但是在写支持https协议的测试程序的时候出现了问题。请教大神,有谁写过类似的程序,多谢指点。
春哥與灰姑娘
10 years, 5 months ago
Answers
可以用openssl。https与http的差别在于在建立socket连接之后,在tcp连接上再进行一次ssl连接,并在建立的ssl信道里面发送原来的数据即可。用openssl实现的话大概是SSL_new创建一个SSL流、SSL_set_fd绑定到socket、调用SSL_connect建立连接然后用SSL_read、SSL_write代替默认的read和write,最后用SSL_shutdown关闭SSL连接就行。
参考http://www.openssl.org/docs/ssl/ssl.html#DESCRIPTION
我也没动手具体写过,你可以参考下试试。
真名寺瑜伽
answered 10 years, 5 months ago