请求库和 validator.w3.org/nu
Requests library and validator.w3.org/nu
我想使用 validator.w3 的 API。org/nu。
文档:https://github.com/validator/validator/wiki/Service:-Input:-GET
我的代码:
validaror_url = "https://validator.w3.org/nu/"
headers = { "Content-type": "text/html, charset=utf-8" }
ip_address = urllib.quote("http://www.artlebedev.ru/")
params = { "doc": ip_address, "out": "json"}
response = requests.get(validaror_url, headers=headers,
params=params)
我得到:
Response: <Response [200]>
content str: {"url":"http%3A//93.185.180.36/","messages":[{"type":"non-document-error","subType":"io","message":"Missing scheme"}]}\n
如果我使用另一个示例站点,再次出现非文档错误。
此处破译此错误:https://github.com/validator/validator/wiki/Output:-JSON
但无论如何,不应该出现这样的错误信息。
如果我将请求更改为 unirest,一切都很好(有很多消息,它们是提供信息的消息)。但是unirest不适合我因为没有Python3支持
我想,也许,问题是请求不能符合这个 "Only "&" is supported as a query parameter separator. ";" is not supported" (这来自验证器的文档) .
嗯,请求不是教条。我需要的只是从验证器获得有意义的响应,而使用 Python3。如果requests不合适,也许我应该改一下。
你能帮我踢一下吗?
除了传递 url 和参数
之外什么都不做
import requests
validaror_url = "https://validator.w3.org/nu/"
ip_address = "http://www.artlebedev.ru/"
params = { "doc": ip_address, "out": "json"}
response = requests.get(validaror_url,
params=params)
print(response.json())
这给你这样的输出:
{'extract': 'аз... -->\n<table border="0" cellpadding="0" cellspacing="0" width="100%">\n<tr v',
'firstColumn': 1,
'hiliteLength': 63,
'hiliteStart': 10,
'lastColumn': 63,
'lastLine': 1369,
'message': 'The “width” attribute on the “table” element is obsolete. Use CSS instead.',
'type': 'error'},
{'extract': 'аз... -->\n<table border="0" cellpadding="0" cellspacing="0" width="100%">\n<tr v',
'firstColumn': 1,
'hiliteLength': 63,
'hiliteStart': 10,
'lastColumn': 63,
'lastLine': 1369,
'message': 'The “border” attribute on the “table” element is obsolete. Use CSS instead.',
'type': 'error'}
post 太多了。
我想使用 validator.w3 的 API。org/nu。
文档:https://github.com/validator/validator/wiki/Service:-Input:-GET
我的代码:
validaror_url = "https://validator.w3.org/nu/"
headers = { "Content-type": "text/html, charset=utf-8" }
ip_address = urllib.quote("http://www.artlebedev.ru/")
params = { "doc": ip_address, "out": "json"}
response = requests.get(validaror_url, headers=headers,
params=params)
我得到:
Response: <Response [200]>
content str: {"url":"http%3A//93.185.180.36/","messages":[{"type":"non-document-error","subType":"io","message":"Missing scheme"}]}\n
如果我使用另一个示例站点,再次出现非文档错误。
此处破译此错误:https://github.com/validator/validator/wiki/Output:-JSON
但无论如何,不应该出现这样的错误信息。
如果我将请求更改为 unirest,一切都很好(有很多消息,它们是提供信息的消息)。但是unirest不适合我因为没有Python3支持
我想,也许,问题是请求不能符合这个 "Only "&" is supported as a query parameter separator. ";" is not supported" (这来自验证器的文档) .
嗯,请求不是教条。我需要的只是从验证器获得有意义的响应,而使用 Python3。如果requests不合适,也许我应该改一下。
你能帮我踢一下吗?
除了传递 url 和参数
之外什么都不做import requests
validaror_url = "https://validator.w3.org/nu/"
ip_address = "http://www.artlebedev.ru/"
params = { "doc": ip_address, "out": "json"}
response = requests.get(validaror_url,
params=params)
print(response.json())
这给你这样的输出:
{'extract': 'аз... -->\n<table border="0" cellpadding="0" cellspacing="0" width="100%">\n<tr v',
'firstColumn': 1,
'hiliteLength': 63,
'hiliteStart': 10,
'lastColumn': 63,
'lastLine': 1369,
'message': 'The “width” attribute on the “table” element is obsolete. Use CSS instead.',
'type': 'error'},
{'extract': 'аз... -->\n<table border="0" cellpadding="0" cellspacing="0" width="100%">\n<tr v',
'firstColumn': 1,
'hiliteLength': 63,
'hiliteStart': 10,
'lastColumn': 63,
'lastLine': 1369,
'message': 'The “border” attribute on the “table” element is obsolete. Use CSS instead.',
'type': 'error'}
post 太多了。