最近用C#在做一个模拟浏览器接收https网站数据的工具,遇到问题卡了几天,请大神指教,不胜感激,所有分数送上。
抓包工具fiddler抓取浏览器访问https网站数据时,会先有一个http的握手包(大概是验证证书、密钥等),然后才是https数据包。
如图所示灰色行:浏览器发送的这个握手包的头部大概是这样的:
CONNECT www.hao123.com:443 HTTP/1.1
Host: www.hao123.com:443
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
A SSLv3-compatible ClientHello handshake was found. Fiddler extracted the parameters below.c#用HttpWebRequest发送的握手包就没有 User-Agent 这一项,查遍了资料,大概理解为这个握手的动作是底层ssl封装的,在.net框架中并没有接口去写它?
注意我指的刚开始握手时http协议的connect这个包,并不是握手成功后https协议的get、post那些包。
请各位大神多多指教,小弟在这里谢谢了。不胜感激。
如果这是c#的天生缺陷,请大家给提供一个解决问题的方向,谢谢了……
抓包工具fiddler抓取浏览器访问https网站数据时,会先有一个http的握手包(大概是验证证书、密钥等),然后才是https数据包。
如图所示灰色行:浏览器发送的这个握手包的头部大概是这样的:
CONNECT www.hao123.com:443 HTTP/1.1
Host: www.hao123.com:443
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
A SSLv3-compatible ClientHello handshake was found. Fiddler extracted the parameters below.c#用HttpWebRequest发送的握手包就没有 User-Agent 这一项,查遍了资料,大概理解为这个握手的动作是底层ssl封装的,在.net框架中并没有接口去写它?
注意我指的刚开始握手时http协议的connect这个包,并不是握手成功后https协议的get、post那些包。
请各位大神多多指教,小弟在这里谢谢了。不胜感激。
如果这是c#的天生缺陷,请大家给提供一个解决问题的方向,谢谢了……
解决方案 »
- 安装Team Foundation Server客户端失败原因求解
- C#写小程序来配置internet setting的代理服务器enable/disable.
- ========用TCPCLient发送数据丢失问题??
- 将arraylist中的数据一次插入到数据库中
- ListBox
- 如何从服务器中读取数据库的名字,以及再从数据库中读取表的名字
- 一切就是来的那么突然 System.Runtime.InteropServices.SEHException: 外部组件发生异常。
- 急救!~!!IIS启动的时候提示无法分配所需地址!!!急!!!!!!!!~!~
- 怎样在一个视频捕捉的窗口中放入前置图片?
- 如何使用ActiveX控件AxMSChart?
- win10 vs2015 httplistener打开报错 拒绝访问
- Treeview重绘的问题
也试过了,C#并不支持这样的写法。只能用 HttpWebRequest.UserAgent 这个。