我正在尝试检查是否已经存在于网站的电子邮件。当前使用的示例Python代码来自Postman.
工作的示例代码:
import requests
url = "https://registration.mercadolivre.com.br/registration/"
payload = "-----011000010111000001101001rnContent-Disposition: form-data; name="signUp.email"rnrntest@hotmail.comrn-----011000010111000001101001rnContent-Disposition: form-data; name="signUp.repEmail"rnrntest@hotmail.comrn-----011000010111000001101001rnContent-Disposition: form-data; name="signUp.newsletter"rnrntruern-----011000010111000001101001rnContent-Disposition: form-data; name="source"rnrnmercadolibrern-----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)
我不知道为什么邮差编码的有效载荷在该字符串。当我尝试传递字典时,它不再工作
不能工作的代码:
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)
我想知道为什么我不能传递json或字典
你的json版本可以正常工作
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)
输出
> python payload.py
<!DOCTYPE html>
<!--[if lt IE 7]> <html lang="es-AR" class="no-js lt-ie10 lt-ie9 lt-ie8 lt-ie7 ie6"> <![endif]--><!--[if IE 7]> <html lang="es-AR" class="no-js lt-ie10 lt-ie9 lt-ie8 ie7"> <![endif]--><!--[if IE 8]> <html lang="es-AR" class="no-js lt-ie10 lt-ie9 ie8"> <![endif]--><!--[if IE 9]> <html lang="es-AR" class="no-js lt-ie10 ie9"> <![endif]--><!--[if (gt IE 9)|!(IE)]> <!--> <html lang="es-AR" class="no-js"> <!--<![endif]-->
<head><meta content="text/html; charset=UTF-8"/><title>MercadoLivre - Ocorreu um erro</title><link rel=stylesheet href="/css/null/7.0.5/errorPage.css"/><!--[if lt IE 7 ]><script src="http://www.mercadolibre.com/org-img/pcorner/js/dd_belatedPNG.min.js"></script><script> DD_belatedPNG.fix('img, .ico, .png24fix, .ch-expando-trigger'); //fix any <img> or .ico background-images </script><![endif]--><link rel="shortcut icon" href="//http2.mlstatic.com/ui/navigation/1.5.9/mercadolibre/favicon.ico"/></head><body data-country=AR><div class=errorPage500><p class=ups>Ops!</p><div class=errorMessage><h2>Ocorreu um erro</h2><p>Por favor, tente mais tarde.</p></div></div></body></html>
<!--
Stats
Generate time : 36 ms
Render time : 1 ms
Compress time : 1 ms
Total time : 38 ms
HostName : i-3647d238-10.17.67.12
-->
我猜问题可能是你的版本我的python版本是3.4.2请求是2.11.1