2016-04-20 11 views
1

Ich habe django-unfriendly wurde mit Urls zu verschleiern, aber es scheint nur wie mit URLs ohne GET-Parameter zu arbeiten: http://yoursite.com/music/awesome/the-melvins/ und dann verwandelt es zu: http://yoursite.com/u/E5v4uxuNSA8I2is33c6V8lqFTcdv_IxPLDGG/ wie der Link erklärt.Django URL mit GET-Parameter verschleiern

Ich muß GET-Parameter mit dem verschleierten URL wie

http://yoursite.com/u/E5v4uxuNSA8I2is33c6V8lqFTcdv_IxPLDGG/?param=Hello&param2=Bye

Aber wenn ich die Anfrage debuggen senden, die URL ohne Parameter übergeben wird, scheint es, wie sie in dem deobfuscation Prozess ignoriert wurden.

Irgendwelche Vorschläge, damit dies funktioniert? Vielleicht eine andere Option?

+0

Welche Django-Version verwenden Sie? – alecxe

+0

Nach dem [Quellcode] (https://github.com/tomatohater/django-unfriendly/blob/develop/unfriendly/views.py#L38) versucht es jedoch tatsächlich, die URL-Abfrageparameter beizubehalten. – alecxe

+0

yeah , es scheint die Parameter zu erhalten, aber es behält nur POST-Parameter, nicht GET, ich weiß nicht warum, ich benutze Django 1.8+ übrigens. –

Antwort

0

Ersetzen

environ['QUERY_STRING'] = query 

mit

from urllib import urlencode

environ['QUERY_STRING'] = query + urlencode(request.GET) if request.GET.items() else ''

In deobfuscate Funktion von unfirendly Ansichten löste es.