某些网络重定向失败

时间:2019-11-26 18:40:18

标签: http https dns

这是一个艰难的过程,请自己做好准备。

我正在为客户端的某些广告链接进行故障排除,因为事实证明,基于我所使用的网络,从他们的服务器进行的重定向似乎没有恢复。

问题是:

  • 基于客户端所在的网络,GET请求如何失败?
  • 如果是防火墙,我该如何证明它们是 会导致那么多网络防火墙崩溃的响应?
  • 如果要归咎于不正确的DNS记录,我该如何证明?

链接:

  • www.switchdriver.com

它在95%的时间内都有效:

它根本无法使用:

  • 办公网络
  • 妻子的办公室网络
  • 酒店Wifi网络
  • 学校

这里应该发生的是:

  1. 获取www.switchdirver.com
  2. 返回-> 301
  3. 重定向-> GET https://www.worx.com/switchdriver-20v-cordless-drill-driver-wx176l.html?utm_source=sftv&utm_medium=tv&utm_campaign=switchdriver
  4. 返回-> HTML文档

下面链接的是我从www.SwitchDriver.com的提琴手那里获得的示例,这些示例成功地在我的LTE网络上重定向,而在我的办公室网络上失败了。

下面是用于测试站点的python代码。如果运行它,您将快速了解天气,这在您的网络上是否有效。

import http.client
import urllib.parse

FiddleHost = "127.0.0.1"
FiddlePort = 8888

####Test www.switchdriver.com content####
#conn = http.client.HTTPConnection(f"{FiddleHost}:{FiddlePort}")
#conn.set_tunnel("www.switchdriver.com")
conn = http.client.HTTPConnection("www.switchdriver.com")
conn.request('GET', '/')
response = conn.getresponse()
response.status

content = response.read()
redirectUrl = response.headers['Location']
assert response.status == 301

urlparts = urllib.parse.urlparse(redirectUrl)
#conn = http.client.HTTPSConnection(f"{FiddleHost}:{FiddlePort}")
#conn.set_tunnel(urlparts.netloc)
conn = http.client.HTTPSConnection(urlparts.netloc)
conn.request('GET', f"{urlparts.path}?{urlparts.query}")
response = conn.getresponse()
response.status

content = response.read()
assert response.status==200

response.close()
conn.close()

0 个答案:

没有答案