Seite 1 von 1

Sichere Verbindung?

Verfasst: Mittwoch 25. November 2015, 17:17
von Sophus
Hallo Leute,

damit wir ein Beispiel haben, greife ich auf mein früheres erstelltes Thema auf.

Code: Alles auswählen

import requests
import sys
import time

# Fill in your details here to be posted to the login form.
payload = {
'username': 'test_user',
'password': 'test_password'
}
url = 'http://www.metalflirt.de/community/login'

# Use 'with' to ensure the session context is closed after use.
# Session used to handle cookies
with requests.Session() as c:
# here is the login URL, and the data we want to submit
c.post(url, data=payload)

# An authorised request.
# test it by accessing hidden page
r = c.get('http://www.metalflirt.de/community/moshpit')

# Here it will tests the login, to make sure
# we already logged in into the system
log_status = payload["username"] in r.content
print log_status
#print 'cookies befor clearing', requests.utils.dict_from_cookiejar(c.cookies)
#c.cookies.clear()
#print 'cookies after clearing', requests.utils.dict_from_cookiejar(c.cookies)
if log_status == True:
time.sleep(5)
c.get('http://www.metalflirt.de/community/logout')
print r.content
else:
print r.content
Hier in diesem Skript wird eine unverschlüsselte Verbindung zum Server aufgebaut, richtig? An dieser Stelle frage ich mich, ob dies nicht gefährlich ist? Beim Anmelden schicke einige wichtige und vertrauliche Daten los, damit requests mich auf dieser Seite anmelden kann. Ich dachte dann dabei an das hauseigene Modul namens ss oder an das Modul pyOpenSSL. Bevor ich mich aber an Versuche heranmache, mir eine SSL-Verbindung einzurichten, wollte ich euch erst einmal fragen.

Re: Sichere Verbindung?

Verfasst: Mittwoch 25. November 2015, 17:36
von DasIch
Requests unterstützt HTTPS.

Re: Sichere Verbindung?

Verfasst: Mittwoch 25. November 2015, 17:39
von Sophus
@ Das Ich: Das heißt, ich kann das Skript so belassen und muss mich nicht darum fürchten, dass ich vertrauliche Daten in das weite Netz schleudere?

Re: Sichere Verbindung?

Verfasst: Mittwoch 25. November 2015, 17:46
von Sirius3
@Sophus: das heißt, wenn Du eine sichere Verbindung willst, solltest Du auch HTTPS benutzen.

Re: Sichere Verbindung?

Verfasst: Mittwoch 25. November 2015, 17:56
von Sophus
@Sirius3: Das bedeutet auch, dass die Betreiberseite https anbietet oder? Ich verstehe nämlich so, dass ich in der Adresszeile dann anstatt http nun https reinschreiben muss. Also anstatt http://www.metalflirt.de/community/login muss nun https://www.metalflirt.de/community/login hingeschrieben werden.

Nun wollte ich mein obiges Beispiel ausprobieren, und bekomme auf einmal folgende Meldung:
Traceback (most recent call last):
File "D:\Dan\Python\xarphus\examples\log_in_web.py", line 5, in <module>
import requests
File "C:\Python27\lib\site-packages\requests\__init__.py", line 58, in <module>
from . import utils
File "C:\Python27\lib\site-packages\requests\utils.py", line 26, in <module>
from .compat import parse_http_list as _parse_list_header
File "C:\Python27\lib\site-packages\requests\compat.py", line 39, in <module>
import cookielib
File "C:\Python27\lib\cookielib.py", line 38, in <module>
from calendar import timegm
ImportError: cannot import name timegm
Dabei hat requests wunderbar funktioniert.

Re: Sichere Verbindung?

Verfasst: Mittwoch 25. November 2015, 18:10
von cofi
Da `calendar` Teil der Standardbibliothek ist, scheint etwas mit deiner Installation nicht zu stimmen. Kann es sein, dass ein eigenes Modul so heisst?

Re: Sichere Verbindung?

Verfasst: Mittwoch 25. November 2015, 18:13
von Sophus
@cofi: Mein eigenes Modul heißt nicht so. Ich habe eben durch Recherche auch erfahren, dass calendar eine Standardbibliothek ist. Aber ich hatte nichts im System geändert. Ich installiere nur lediglich Bibliotheken über pip in meiner cmd-Konsole.

Re: Sichere Verbindung?

Verfasst: Mittwoch 25. November 2015, 18:32
von cofi
Na dann schau dir doch mal an was

Code: Alles auswählen

import calendar
print calendar.__file__
ausgibt. Das kann offensichtlich nicht das der Standardbibliothek sein.

Re: Sichere Verbindung?

Verfasst: Mittwoch 25. November 2015, 18:39
von Sophus
@cofi: Erschieß mich 8) Das Problem war, dass ich in meinem example-Ordner (dort sammle ich all meine Test-Beispiele) ein Modul mit dem Namen hatte. Ich hatte total vergessen nachzusehen, da sich schon einige Test-Module angesammelt hat. Wie peinlich.