实际上还有一个额外的层,如果我尝试在我班级的第一个请求中访问该主机,它甚至不能与Fiddler一起运行。我现在有点困惑。
这里的代码与Fiddler打开完全一致:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://www.ticketmaster.co.nz/member/order_history?start=10000");
req.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
req.Headers.Add("Accept-Language: en-US,en;q=0.8");
req.Headers.Add("Upgrade-Insecure-Requests: 1");
req.Headers.Add("Accept-Encoding: gzip, deflate, sdch, br");
req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36";
req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
using (HttpWebResponse resp = (HttpWebResponse)req.GetResponse())
{
}
req = (HttpWebRequest)WebRequest.Create("https://www.ticketmaster.com/member/addfavs?tm_link=tm_homeA_mytm_signin");
req.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
req.Headers.Add("Accept-Language: en-US,en;q=0.8");
req.Headers.Add("Upgrade-Insecure-Requests: 1");
req.Headers.Add("Accept-Encoding: gzip, deflate, sdch, br");
req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36";
req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
using (HttpWebResponse resp = (HttpWebResponse)req.GetResponse())
{
}
但是,如果我关闭Fiddler并在Visual Studio中以调试模式运行,我会收到以下消息:
基础连接已关闭:接收时发生意外错误。
以及以下内部例外:
无法从传输连接中读取数据:已建立的连接已被主机中的软件中止。
和
已建立的连接已被主机中的软件中止
现在,如果我只是运行下面的代码,我就得到
操作已超时
即使我让Fiddler打开。
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://www.ticketmaster.com/member/addfavs?tm_link=tm_homeA_mytm_signin");
req.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
req.Headers.Add("Accept-Language: en-US,en;q=0.8");
req.Headers.Add("Upgrade-Insecure-Requests: 1");
req.Headers.Add("Accept-Encoding: gzip, deflate, sdch, br");
req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36";
req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
using (HttpWebResponse resp = (HttpWebResponse)req.GetResponse())
{
}
有人能理解这个吗?我猜它与我的机器和ticketmaster.com之间的加密有关?在第一个代码块上使用Fiddler时,我从隧道中获得以下信息:
ticketmaster.co.nz
加密的HTTPS流量流经此CONNECT隧道。在Fiddler中启用了HTTPS解密,因此在此隧道中运行的解密会话将显示在“Web会话”列表中。安全协议:Tls12密码:Aes256 256位哈希算法:Sha384?位密钥交换:ECDHE_RSA(0xae06)256bits ==服务器证书========== [主题] CN = www.ticketmaster.com.au,OU = Web Systems,O = Ticketmaster LLC,L = West Hollywood,S = California,C = US [Issuer] CN = GeoTrust SSL CA - G3,O = GeoTrust Inc.,C = US [序列号] 1037AE6FF18FC34C953E39A6DFAB61B5 [Not Before] 5/31/2016 8:00:00 PM [Not After] 7/31/2017 7:59:59 PM [Thumbprint] FC3B52348FE320B9CAF441E98A8D7BFE1D7D3189 [SubjectAltNames] www.ticketmaster.co.nz,ticketmaster.co.nz,ticketmaster.com .au,www.ticketmaster.com.au
ticketmaster.com
加密的HTTPS流量流经此CONNECT隧道。在Fiddler中启用了HTTPS解密,因此在此隧道中运行的解密会话将显示在“Web会话”列表中。安全协议:Tls12密码:Aes256 256位哈希算法:Sha384?位密钥交换:ECDHE_RSA(0xae06)256bits ==服务器证书========== [主题] CN = www.ticketmaster.com,OU = Web Systems,O = Ticketmaster,L = West Hollywood,S = California,C = US [Issuer] CN = Symantec Class 3 Secure Server CA - G4,OU = Symantec Trust Network,O = Symantec Corporation,C = US [序列号] 009C483B9154EE1160A8FEC2044DC8C5 [Not Before] 8/2/2016 8:00:00 PM [Not After] 8/3/2017 7:59:59 PM [Thumbprint] 488B2EE898E409484F61B1DD97023D4EE615C2EF [SubjectAltNames] www.ticketmaster.com,ticketmaster.com
我顺便使用.NET版本4.6.1。