小编Fit*_*lip的帖子

DNS代理?

在过去的几天里,我一直在拔头发寻找一个好的解决方案来防止在socks4/5代理上发生DNS泄漏.

我查看了SocksiPy(-branch)模块,并尝试包装了许多内容(urllib,urllib2,dnstools),但它们似乎仍然泄漏了DNS请求.pyCurl也是如此.

我知道proxychains/proxyresolv可以通过socks4/5代理抛出DNS请求,并且它通过一些LD_PRELOAD库完成所有它的神奇功能来修补套接字的功能,就像SocksiPy一样,但我似乎无法弄清楚为什么它不通过socks4或socks5代理发送DNS.

我想对于Linux我可以使用libproxychains.so的CType来做我的解决方案,但我正在寻找多平台的东西,所以我认为猴子修补套接字模块是要走的路.

有没有人想出一个解决这个问题的好方法?为了便携性,我想在代码中完成所有操作,并且我不想诉诸于运行另一个代理服务器!

谢谢!

python dns proxy

13
推荐指数
1
解决办法
5266
查看次数

在DRF中嵌套ViewSet路由

我已经创建了2个这样的ModelViewSets(简化为演示):

class SomeBaseViewSet(viewsets.ReadOnlyModelViewSet):
    serializer_class = SomeEventSerializer
    permission_classes = (permissions.IsAuthenticated,)

    def get_queryset(self):
        return SomeObjects.objects.filter(owner=self.request.user)

    def get_serializer_context(self):
        context = super(SomeBaseViewSet, self).get_serializer_context()
        context.update({
            "user": self.request.user,
            "some_context_key": False
        })
        return context

class AdminViewSet(SomeBaseViewSet):
    # Added in the HasAdminPermission
    permission_classes = (permissions.IsAuthenticated, HasAdminPermission)

    # Different queryset filter (overriding `get_queryset` vs setting queryset for standardization)
    def get_queryset(self):
        return SomeObjects.objects.all()

    # The context should have `some_context_key=True`, and `user=request.user`
    def get_serializer_context(self):
        context = super(AdminViewSet, self).get_serializer_context()
        context.update({
            "some_context_key": True
        })
        return context
Run Code Online (Sandbox Code Playgroud)

我的路由器/ url配置看起来像这样

router = DefaultRouter()

router.register(r'some_view', SomeBaseViewSet, …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

8
推荐指数
2
解决办法
1457
查看次数

Python对列表项的唯一列表进行排序

我似乎无法找到关于我的特定问题的问题,所以请原谅我,如果之前已经提出过这个问题!

无论如何,我正在编写一个脚本来遍历一组URL,并给我一个具有唯一参数的唯一URL列表.

我遇到的麻烦实际上是比较参数以消除多个重复.这有点难以解释,所以一些例子可能是有序的:

假设我有一个像这样的URL列表

  • hxxp://www.somesite.com/page.php ID = 3&标题= DERP
  • hxxp://www.somesite.com/page.php ID = 4&标题=胡说
  • hxxp://www.somesite.com/page.php ID = 3& C = 32&标题=事
  • hxxp://www.somesite.com/page.php B = 33&ID = 3

我将每个URL解析为列表列表,所以最终我有一个这样的列表:

sort = [['id', 'title'], ['id', 'c', 'title'], ['b', 'id']]
Run Code Online (Sandbox Code Playgroud)

我需要找到一种方法,在我的列表中只给出2个列表:

new = [['id', 'c', 'title'], ['b', 'id']]
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经有点了解它,我知道我已经接近了,我已经对这个问题抨击了几天了:(.有什么想法吗?

提前致谢!:)

编辑:抱歉不清楚!此脚本旨在为后期抓取的Web应用程序查找唯一的入口点.基本上,如果URL有3个唯一的入口点

['id', 'c', 'title']
Run Code Online (Sandbox Code Playgroud)

我更喜欢与2个唯一入口点相同的链接,例如:

['id', 'title']
Run Code Online (Sandbox Code Playgroud)

因此,如果较小的变量位于较大的集合中,我需要新的列表列表来消除带有2的列表并且更喜欢仅带有3的列表.如果还不清楚请告诉我,谢谢你的快速回复!:)

python sorting list unique

2
推荐指数
1
解决办法
1673
查看次数

标签 统计

python ×2

django ×1

django-rest-framework ×1

dns ×1

list ×1

proxy ×1

sorting ×1

unique ×1