PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Python requests & cock.li



sn0w
28.06.2018, 13:24
Hey yo zusammen,
ich hatte einige Zeit lang mit Python und requests mail accounts bei cock.li erstellt, jedoch scheinen die ihre API überarbeitet zu haben. Header setzte ich bereits alle, die auch normalerweise via Browser gesetzt werden. Wie kann der Server also erkennen, dass der POST request von requests bzw python stammt und nicht von einem Browser?

Würde mich über Antworten freuen.

gORDon_vdLg
28.06.2018, 13:35
Fehlt evtl. ein Cookie?

sn0w
28.06.2018, 14:16
Sollte mittels Session gesetzt werden (http://docs.python-requests.org/en/master/user/advanced/) denn damit hole ich schon das captcha. Soweit ich das sehe ist das Cookie bzw Session abhängig und dabei mekert er auch nicht.

gORDon_vdLg
28.06.2018, 14:32
Was mir sonst noch einfällt ist dass z.B. der Server drauf lauschen könnte dass noch irgendwas anderes abgefragt wird. Bei diesem Videohoster flashx war das z.B. so dass ein bestimmtes Script geladen werden musste, ein Browser macht ja automatisch weitere requests und bindet Kram ein, bei dir gibt es nur die requests die du selbst durchführst. Bei denen war das ne Adblock erkennung.
Ich würde auf jeden Fall mal in der Entwicklerkonsole/Netzwerklog deines Browsers gucken was der so alles abfragt, Sachen wo noch irgendwelche Tokens als Parameter mitgehen sind natürlich verdächtig.

sn0w
28.06.2018, 15:05
Okay habe es gerade nochmal ausprobiert und jetzt scheint wieder alles zu funktionieren :D
Vielleicht hatten sie selbst Probleme mit der API oder der Registrierung ¯\_(ツ)_/¯

gORDon_vdLg
28.06.2018, 15:24
Oh okay, na dann ist ja gut.

Braz
29.06.2018, 12:49
Hi,

Nur zur Vollständigkeit:
Es kann auch helfen, den User-Agent im Header zu setzen.



import requests

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3'}

print requests.get('https://free-hack.com/', headers=headers).text

sn0w
29.06.2018, 17:14
Ja habe so 1,2 header gesetzt.

header = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.9,de;q=0.8',
'Cache-Control': 'no-cache',
'Connection': 'keep-alive',
'Content-Type': 'application/x-www-form-urlencoded',
'DNT': '1',
'Host': 'cock.li',
'Origin': 'https://cock.li',
'Pragma': 'no-cache',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36'}

zzurc
01.07.2018, 19:17
wenn wir gerade darüber reden. Ich hatte das Problem bei Instagram. Wäre nett wenn da mal jemand nachguckt. Ich glaube da gab es irgendein JS-Heartbeat.

Braz
02.07.2018, 09:17
Ja habe so 1,2 header gesetzt.

Das war mir schon klar, dass du wohl ein paar Header setzen musstest, für den Request.
Ich wollte nur auf den User-Agent im Speziellen hinweisen.