Python Requests POST Cert Key
If you want to make a POST request in Python using the Requests library and need to provide a certificate key, you can do so by passing the certificate file and key file paths as a tuple to the cert
parameter.
Example:
Say you have a certificate file named mycert.pem
and a key file named mykey.pem
, both located in the same directory as your Python script. You can make a POST request with these certificates like so:
import requests
url = 'https://example.com/api'
cert = ('mycert.pem', 'mykey.pem')
payload = {'username': 'johndoe', 'password': 'secret'}
response = requests.post(url, cert=cert, data=payload)
print(response.text)
The cert
parameter expects a tuple containing the path to the certificate file and the path to the key file. If your certificate requires a passphrase, you can pass it as a string in a third item in the tuple like so:
cert = ('mycert.pem', 'mykey.pem', 'passphrase')
This will prompt for the passphrase when the request is made.
If you have multiple certificates, you can provide them as a list of tuples:
certs = [('mycert1.pem', 'mykey1.pem'), ('mycert2.pem', 'mykey2.pem')]
And then pass the certs
parameter:
response = requests.post(url, certs=certs, data=payload)
Make sure the certificate and key files are in the correct format and match the server's requirements.