Ошибка Scrapy ResponseNeverReceived в методе loadPEM - PullRequest
1 голос
/ 28 мая 2020
from OpenSSL import SSL

from twisted.internet.ssl import ClientContextFactory
from twisted.internet.ssl import PrivateCertificate
#from twisted.internet.ssl import DefaultOpenSSLContextFactory
from twisted.internet import ssl

class BrowserLikeContextFactory(ScrapyClientContextFactory):

            def creatorForNetloc(self, hostname, port):

            # trustRoot set to platformTrust() will use the platform's root CAs.
            #
            # This means that a website like https://www.cacert.org will be rejected
            # by default, since CAcert.org CA certificate is seldom shipped.

            with open ('path\\sample.pem') as f:

                keyAndCert = f.read()
                myClientCert = PrivateCertificate.loadPEM(keyAndCert)

              return optionsForClientTLS(hostname.decode("ascii"),

                trustRoot=platformTrust(),
                clientCertificate=myClientCert,
                extraCertificateOptions={
                'method': self._ssl_method,
              })

Из приведенного выше кода я пытаюсь загрузить один файл PEM организации (который мне разрешено использовать) для доступа к их сайту. Файл существует по указанному пути с совпадающим именем файла.

enter image description here

Однако произошла ошибка. Это проблема с файлом или как я реализовал код?

enter image description here

Я создал файл .pem из файла .pfx, используя этот код

openssl pkcs12 -in sample.pfx -out sample.pem
...