2016-11-08 34 views
0

我試圖檢查一個電子郵件是否已經存在於一個網站中。目前使用Postman的示例Python代碼。Python請求Postman的代碼片段

的作品

示例代碼:

import requests 

url = "https://registration.mercadolivre.com.br/registration/" 

payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"signUp.email\"\r\n\r\[email protected]\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"signUp.repEmail\"\r\n\r\[email protected]\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) 

我不知道爲什麼郵差編碼該字符串的有效載荷。當我試圖通過一本字典它不工作了

不起作用

代碼:

import requests 

url = "https://registration.mercadolivre.com.br/registration/" 

payload = { 'signUp.email': '[email protected]', 
'signUp.repEmail': '[email protected]', 
'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或字典。

回答

0

您的JSON版本工作正常

import requests 

url = "https://registration.mercadolivre.com.br/registration/" 

payload = { 'signUp.email': '[email protected]', 
'signUp.repEmail': '[email protected]', 
'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

+0

實際上Json版本不起作用,因爲輸出是不同的。它說「MercadoLivre - Ocorreu um erro」。當我使用郵遞員推薦的方法時,結果與郵件說已經在使用的消息不同。 – Legos