This article gives you a comprehensive understanding of Java object serialization and deserialization>>>
report errors:
LookupError:
**********************************************************************
Resource punkt not found.
Please use the NLTK Downloader to obtain the resource:
>>> import nltk
>>> nltk.download('punkt')
Attempted to load tokenizers/punkt/english.pickle
Searched in:
- '/home/a/nltk_data'
- '/home/a/anaconda3/envs/py2/nltk_data'
- '/home/a/anaconda3/envs/py2/share/nltk_data'
- '/home/a/anaconda3/envs/py2/lib/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- u''
**********************************************************************
Solution:
import nltk
import ssl
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
pass
else:
ssl._create_default_https_context = _create_unverified_https_context
nltk.download("punkt")
Supplementary materials:
SSLError: [SSL: CERTIFICATE_ VERIFY_ FAILED] certificate verify failed (_ ssl.c:581)
Today, I’d like to try Baidu’s speech recognition API with the following steps:
1. First go to Baidu open cloud platform to register and become a developer. It may take time to audit. I applied last year and now my account is still in use
2. Then create an application
3. Add services to the created application, including speech recognition and speech generation
4. So I have an access to call his voice recognition interface_ The token, because I use the API for rest, I need to take the API_ Key and secret_ The key is obtained through an HTTP request, and that’s the problem
I use request to post and get according to the appearance of his document, and report an error of verification failure
requests.post(‘ https://openapi.baidu.com/oauth/2.0/token?grant_ type=client_ credentials& client_ id=xxxxxxx& client_ secret=xxxxxxx’).content
requests.get(‘ https://openapi.baidu.com/oauth/2.0/token?grant_ type=client_ credentials& client_ id=xxxxxxx& client_ secret=xxxxxxx’).content
He told me:
SSLError: [SSL: CERTIFICATE_ VERIFY_ FAILED] certificate verify failed (_ ssl.c:581)
Some people say that the reason is as follows:
After Python 2.7.9, a new feature is introduced
when you use urllib.urlopen as an HTTPS, you will verify the SSL certificate once
when the target uses a self signed certificate, a
urllib2.urlerror: & lt; urlopen error [SSL: CERTIFICATE_ VERIFY_ FAILED] certificate verify failed (_ ssl.c:581)> Error message for
It’s true that I tried with urllib, and the results are the same. Requests are the same as urllib
So to solve this problem, pep-0476 says
For users who wish to opt out of certificate verification on a single connection, they can achieve this by providing thecontextargument tourllib.urlopen:
import ssl
# This restores the same behavior as before.
context = ssl._ create_ unverified_ context()
urllib.urlopen(” https://no-valid-cert “, context=context)
It is also possible,though highly discouraged, to globally disable verification by monkeypatching thesslmodule in versions of Python that implement this PEP:
import ssl
try:
_ create_ unverified_ https_ context = ssl._ create_ unverified_ context
except AttributeError:
# Legacy Python that doesn’t verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn’t support HTTPS verification
ssl._ create_ default_ https_ context = _ create_ unverified_ https_ Context
that is to say, you can disable this certificate request. For urllib, there are two ways. One is that urllib. Urlopen() has a parameter context, which is set to SSL_ create_ unverified_ Context or modify the current global default value
_ create_ unverified_ https_ Context
or
ssl._ create_ default_ https_ Context
is
ssl._ create_ unverified_ context
After a test, it’s true that several tokens are returned. Does the global variable have to be set for requests. In fact, both post and get of request have a parameter called verify. Just set it to false
print requests.get(‘ https://openapi.baidu.com/oauth/2.0/token?grant_ type=client_ credentials& client_ id=xxxxx& client_ secret=xxxxxxxx’, verify=False).content
———————
Author: nankaizhl
source: CSDN
original text: https://blog.csdn.net/xiaopangxia/article/details/49908889
Copyright notice: This article is the original article of the blogger, please attach the blog link if you reprint it
Similar Posts:
- Python Ssl.certificateerror errors [How to Solve]
- Interface automation (8): an error is reported during interface testing sslerror: Certificate verify failed
- MonkeyPatchWarning: Monkey-patching ssl after ssl has already been imported may lead to errors
- Differences of urllib, urllib2, httplib and httplib2 libraries in Python
- Python3 Use urlliburlopen error EOF occurred in violation of protocol (_ssl.c:841)
- No module named ‘urllib.request’; ‘urllib’ is not a package
- You-get Warning urllib.error.URLError:
- Error in Python data fetching “[SSL: Certificate]_ VERIFY_ FAILED] certificate verify failed (_ The solution of “None” problem in SSL. C: 841
- [Solved] Python SSL handshake failure after upgrading MacOS To Monterey
- [Solved] HTTP Error 301: The HTTP server returned a redirect error that would lead to an infinite loop.