为什么要求ssl认证的请求返回html?

绿

我有一个问题

我正在尝试将一些数据发布到Web服务器并获得响应。网络服务器具有SSL证书验证,因此我为此提供了文件。在响应中,我应该收到xml文件,但是我收到一些html。

我的小脚本如下所示:

import requests, sys, os

program_directory=sys.path[0]
verify = os.path.join(program_directory, "test.pem")
data='some data'

print requests.post('https://somewebsite', data=data, verify=verify).text

那就是我在html之前得到的:

C:\Python27\lib\site-packages\requests\packages\urllib3\connection.py:251: SecurityWarning: Certificate has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.) SecurityWarning

如果我使用verify=False但不提供文件,则可以正常工作并返回正确的数据。可能是什么问题,为什么我会收到此警告和html?

u

引用GrahamDumpleton

这是因为在较旧的Python版本中,_ssl模块不会在SSL证书的字段集中返回“ subjectAltName”。即使存在该字段也不会返回该字段,这意味着即使SSL证书有效,检查也将失败并记录警告。

要消除警告,您可以全局禁用urllib3警告。

请求模块包含urllib3的捆绑版本,您很可能需要使用:

import requests
requests.packages.urllib3.disable_warnings()

如果您只想忽略该特定警告,则可以使用:

from requests.packages.urllib3.exceptions import SubjectAltNameWarning
requests.packages.urllib3.disable_warnings(SubjectAltNameWarning)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我要求返回数组这次采访任务?

为什么要求C ++迭代器返回引用?

为什么POSTMAN发出的POST请求返回空?

为什么我的Gitlab请求总是返回错误400

为什么通过函数运行时请求返回错误?

为什么我的Ajax请求从wordpress返回空对象?

sed为什么返回的字符数超过要求

为什么ASP.net Core返回index.html来请求我的Angular Spa dist文件?

为什么NodeJS请求返回奇怪的字符?

为什么Google Apps脚本的UrlFetchApp返回HTML而不是csv文件(请求Facebook API)?

为什么“需要认证才能...?”

Ajax请求不返回任何内容。为什么?

为什么此提取请求不返回任何内容

为什么在请求app.css时express返回index.html?

为什么仍然需要传递* this,为什么要求返回它?

外部认证后返回到请求的页面

nslookup为什么返回“ DNS请求超时”

为什么SSH密钥认证优于密码认证?

为什么我的wordpress网站要求http认证?

为什么我对 PHP 文件的 Angular POST 请求返回 404?

为什么,请求返回符号——'?'

为什么来自 Unity 的 POST 请求在 php 中返回空?

为什么请求不返回所有 HTML 代码

请求API但返回空,为什么?

为什么表单主体在 PUT 请求时返回 null?

为什么 Firestore Cloud Function 返回错误的请求响应?

为什么 axios 返回的 responseURL 与请求 url 不同?

为什么 XMLHttpRequest 请求正文返回 null?

为什么 ssl pinning 对同步请求不起作用?