Python GET запрос для PHP страницы - PullRequest
0 голосов
/ 08 марта 2020

Я пытаюсь написать программу на 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 различаются, если вы на самом деле go заходите на сайт и тестируете их достижимость IPv6, запрос GET возвращает тот же контент для оба (кроме разницы в URL). Я также пытался печатать resp.json(), но это вызывает JSONDecodeError.

1 Ответ

0 голосов
/ 08 марта 2020

Я не уверен, в чем ваша проблема, 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

...