【问题标题】:Python requests Invalid URL, verify failedPython请求无效的URL,验证失败
【发布时间】:2019-11-13 00:14:18
【问题描述】:

在 url 中使用 verify = False 我收到此错误:requests.exceptions.MissingSchema: Invalid URL '': No schema provided。也许您的意思是 http://?

当我将其从 url 中删除时,我收到此错误: SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:自签名证书

在这两种情况下,验证 = False 响应 = requests.request。

代码如下:

import requests
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
import json
from requests.auth import HTTPBasicAuth

src = input('Source > ')
dst = input('Destination > ')
svc = input('port > ')

url = requests.get('https://192.168.1.1/securetrack/api/topology/path', auth=HTTPBasicAuth('admin', 'p@ss'))

querystring = {"src":src,"dst":dst,"service": svc}

headers = {
    'Accept': "application/json",
    }

response = requests.request("GET", url, headers=headers, params=querystring, verify=False)

print(response.text)

【问题讨论】:

  • 能否包含完整的回溯?
  • 您的url 不是 URL,而是响应对象。

标签: python python-3.x python-requests


【解决方案1】:
import requests
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
import json
from requests.auth import HTTPBasicAuth

src = input('Source > ')
dst = input('Destination > ')
svc = input('port > ')

url = 'https://192.168.1.1/securetrack/api/topology/path'

querystring = {"src":src,"dst":dst,"service": svc}

headers = {'Accept': 'application/json'}

response = requests.get(url, headers=headers, params=querystring, verify=False, auth=HTTPBasicAuth('admin', 'p@ss'))

print(response.text)

【讨论】:

    【解决方案2】:

    您的url 变量包含一个请求对象,然后您尝试将其作为requests.request 中的url 字符串传递。试试这个:

    import requests
    import urllib3
    urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
    import json
    from requests.auth import HTTPBasicAuth
    
    src = input('Source > ')
    dst = input('Destination > ')
    svc = input('port > ')
    url = 'https://192.168.1.1/securetrack/api/topology/path'
    
    querystring = {"src":src,"dst":dst,"service": svc}
    
    headers = {
        'Accept': "application/json",
        }
    
    response = requests.request(method="GET", url=url, headers=headers, params=querystring, verify=False, auth=HTTPBasicAuth('admin', 'p@ss'))
    print(response.text)
    

    【讨论】:

      猜你喜欢
      • 2013-09-30
      • 2015-07-26
      • 2014-08-17
      • 2014-03-28
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多