2016-04-23 14 views
1

Ich möchte eine POST-Anfrage mit Python, vorzugsweise Python3. Das Problem ist, der Server muss die Anfrage irgendwie blockieren (auch mit richtigen Überschriften und Cookies usw.).Python3 Anfragen - funktioniert nicht

Um selbst zu sehen, gehen Sie einfach auf diesen Link, füllen Sie eine beliebige Telefonnummer und E-Mail, und drücken Sie auf "Senden". Ich möchte dies replizieren, auch wenn ich Robobrowser oder etwas verwenden muss (was auch nicht funktioniert).

https://sprint-locator.safely.com/signupBasicInformation.htm

ich auch versucht, es mit Curl, nichts zu replizieren.

import requests 

payload = {'email': 'admin%40dr.com', 'emailConfirm': 'admin%40dr.com', 'phoneNumber.areaCode': '302', 'phoneNumber.prefix': '750', 'phoneNumber.line': '1213'} 
url='https://sprint-locator.safely.com/signupBasicInformation.htm' 
r = requests.post(url, payload) 
print(r.text) 
+0

So * Sie * können * die Anfrage aus dem Formular aber * nicht * von cURL oder Python/Anfragen? – jonrsharpe

+0

@Dylan bitte mit einem gültigen Sprint-Telefon (und E-Mail vielleicht?) Zur Verfügung stellen, da ich auf https://sprint-locator.safely.com/signUpAccountSuspended.htm –

+0

weitergeleitet werde Ich habe festgestellt, dass wenn ich den Benutzer einstellen -Agent-Header mit einem gültigen Firefox-User-Agent Ich bekomme eine andere Seite zu dem, was ich bekomme, wenn ich keine Header festlegen, wenn das interessant ist. –

Antwort

0

Einige Sites erfordern "richtige" User-agent, aus Sicherheitsgründen (sic!), Um Bots herauszufiltern (und mehr) erlaubt nur Browser-Clients.

import requests 

headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0'} 
payload = {'email': 'admin%40dr.com', 'emailConfirm': 'admin%40dr.com', 'phoneNumber.areaCode': '302', 'phoneNumber.prefix': '750', 'phoneNumber.line': '1213'} 
url='https://sprint-locator.safely.com/signupBasicInformation.htm' 
r = requests.post(url, payload, headers=headers) 
print(r.text) 
+0

Das stimmt, ich habe es bereits mit User Agents getestet und hier bekommen. Das Problem ist, nur das Formular ausfüllen, und es wurde nie eingereicht. Wenn es richtig funktioniert, würden Sie gesendet werden: https://sprint-locator.safely.com/signUpAccountSuspended.htm Ich schätze wirklich Ihre Zeit @ kwarunek – Dylan

Verwandte Themen