I am trying to check if an email already exists in a website. Currently using a sample Python code from Postman.
sample code that works:
import requests
url = "https://registration.mercadolivre.com.br/registration/"
payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"signUp.email\"\r\n\r\ntest@hotmail.com\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"signUp.repEmail\"\r\n\r\ntest@hotmail.com\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"signUp.newsletter\"\r\n\r\ntrue\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"source\"\r\n\r\nmercadolibre\r\n-----011000010111000001101001--"
headers = {
'content-type': "multipart/form-data; boundary=---011000010111000001101001",
'cache-control': "no-cache",
'postman-token': "179cabe2-dd22-490e-8fbd-15bf2977feb5"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
I am not sure why is Postman encoding the payload in that string. when I try passing a dictionary it does not work anymore
Code that does not work:
import requests
url = "https://registration.mercadolivre.com.br/registration/"
payload = { 'signUp.email': 'test@hotmail.com',
'signUp.repEmail': 'test@hotmail.com',
'signUp.newsletter': 'true',
'source': 'mercadolibre' }
headers = {
'content-type': "multipart/form-data; boundary=---011000010111000001101001",
'cache-control': "no-cache",
'postman-token': "22a12fa5-5f68-685c-124d-db0ef6eb334c"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
I am wondering why I can't pass a json or dictionary.