【问题标题】:Python GET request for PHP pagePHP页面的Python GET请求
【发布时间】:2020-03-08 14:36:39
【问题描述】:

我正在尝试用 Python3 编写一个程序,该程序将 URL 作为输入并在此站点检查其 IPv6 可访问性:https://ipv6-test.com/validate.php

这是我所拥有的:

import requests

url = input()
resp = requests.get("https://ipv6-test.com/validate.php?url="+url)
print(resp.text)

问题是这样的:虽然 google.com 和 amazon.com 的结果不同,但如果您实际访问该站点并测试它们的 IPv6 可达性,GET 请求会为两者返回相同的内容(除了 URL 差异) .我也尝试过打印resp.json(),但这会引发 JSONDecodeError。

【问题讨论】:

    标签: python get ipv6


    【解决方案1】:

    我不确定您的问题是什么,google.com 已准备好 IPv6,amazon.com 尚未准备好,现在对于 resp.json(),您收到的响应是 html 响应,您正在尝试将其处理为一个json,这就是为什么你得到JSONDecodeError

    网站将失败/成功的divs 都设置为display:none,然后简单地向“https://ipv6-test.com/json/webaaaa.php?url=”发出请求并更新样式取决于dns_aaaa 的值,(至少看起来像),这就解释了为什么你得到相同的内容而答案不同

    一种方法是:

    >>> url1 = 'www.google.com'
    >>> url2 = 'www.amazon.com'
    >>> goog = requests.get("https://ipv6-test.com/json/webaaaa.php?url="+url1)
    >>> amzn = requests.get("https://ipv6-test.com/json/webaaaa.php?url="+url2)
    >>> amzn.json()['dns_aaaa'] != None
    False
    >>> goog.json()['dns_aaaa'] != None
    True
    

    否则我会尝试使用诸如 Beautiful Soup 之类的库来抓取该网站

    【讨论】:

      猜你喜欢
      • 2017-11-04
      • 1970-01-01
      • 2014-05-31
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 2016-06-17
      • 2014-08-15
      • 2020-07-18
      相关资源
      最近更新 更多