小编waz*_*ari的帖子

检查列表是否以另一个列表的元素开头

如果列表的开头恰好是另一个列表的元素,那么检查的最简单(最pythonic方式)是什么?请考虑以下示例:

li = [1,4,5,3,2,8]

#Should return true
startsWithSublist(li, [1,4,5])

#Should return false
startsWithSublist(list2, [1,4,3])

#Should also return false, although it is contained in the list
startsWithSublist(list2, [4,5,3])
Run Code Online (Sandbox Code Playgroud)

当然我可以迭代列表,但我想有一种更简单的方法.两个列表永远不会包含两次相同的元素,第二个列表将始终比第一个列表更短或更长.要匹配的列表长度是可变的.

如何在Python中执行此操作?

python list

8
推荐指数
1
解决办法
2704
查看次数

Keycloak Docker 容器在重启容器后无法启动

我有一个 Keycloak 安装在 docker-compose 环境中作为 docker 容器运行。每天晚上,我的备份都会停止相关容器,执行数据库和卷备份并再次重新启动容器。大多数情况下它有效,但 Keycloak 似乎有问题,之后不再出现。查看日志,错误信息是:

The batch failed with the following error: : 
keycloak           | WFLYCTL0062: Composite operation failed and was rolled back. Steps that failed:
keycloak           | Step: step-9
keycloak           | Operation: /subsystem=datasources/jdbc-driver=postgresql:add(driver-name=postgresql, driver-module-name=org.postgresql.jdbc, driver-xa-datasource-class-name=org.postgresql.xa.PGXADataSource)
keycloak           | Failure: WFLYCTL0212: Duplicate resource [
keycloak           |     ("subsystem" => "datasources"),
keycloak           |     ("jdbc-driver" => "postgresql")
keycloak           | ]
...
The batch failed with the following error: : 
keycloak           | WFLYCTL0062: Composite operation failed and was rolled back. Steps …
Run Code Online (Sandbox Code Playgroud)

docker wildfly keycloak

7
推荐指数
1
解决办法
6541
查看次数

如何在openapi-codegen生成的python代码中使用承载认证

我正在使用 OpenApi 3.0 规范来记录我的 API。它基本上是一个 REST API,除了登录请求之外,每个请求都需要一个有效的 Bearer 令牌。OpenAPI 规范如下所示:

---
openapi: 3.0.0
info:
  title: MyTitle
  contact:
    email: mymail@mail.com
  version: 0.0.1
servers:
- url: http://localhost/api/v1
components:
  schemas:
    ...
  securitySchemes:
    bearerAuth:
      type: http
      bearerFormat: JWT
      scheme: bearer
security:
- bearerAuth: []
Run Code Online (Sandbox Code Playgroud)

在自动生成的 swagger-ui 中工作得非常好,当我下载 OpenAPI 规范并将其导入 Postman 时,邮递员也是如此。

但是,当使用以下命令使用 openapi-generator 时:

docker run --user `id -u`:`id -g` --rm -v ${PWD}:/local openapitools/openapi-generator-cli generate -i /local/api.json -g python -o /local/api
Run Code Online (Sandbox Code Playgroud)

但是,它尝试使用用户名和密码代替不记名令牌:

def get_basic_auth_token(self):
    """Gets HTTP basic authentication header (string).

    :return: The token for …
Run Code Online (Sandbox Code Playgroud)

python swagger openapi servicestack-openapi

5
推荐指数
1
解决办法
5889
查看次数

在Docker容器中安装SCP

我目前正在使用docker来创建PHP开发环境.有几个容器(nginx,php7 +数据容器,mysql +数据容器,phpmyadmin)运行并相互连接,到目前为止工作正常.为方便起见,我在mysql容器中添加了一些脚本,其他开发人员可以使用这些脚本:

  • 将数据库重置为初始数据库
  • 将数据库重置为生产数据库的当前转储

我提供了一个开发服务器,它每15分钟从生产系统中提取一次实时转储,并将其放在一个众所周知的目录中.现在我想将第二个脚本添加到mysql容器中,它基本上执行以下操作:

使用开发人员的SSH密钥(之前已放置在可访问的文件夹中),连接到开发计算机,获取SQL转储并用此内容替换数据库.

我目前的问题是我不知道如何获取数据.我使用mysql图像作为基本图像,在容器内部没有scp或类似的可用.

问题:如何实现上述问题?我可以以某种方式在容器中安装scp命令吗?我不想依赖在实际主机上运行的脚本,因为使用了各种操作系统.

mysql scp docker

3
推荐指数
1
解决办法
4706
查看次数

CKEditor提交值为空(没有ajax)

我的ckeditor有问题.我下载了当前版本并将其包含在我的表单中,如下所示:

<form action="/news.php?frame=edit&amp;id=185" enctype="multipart/form-data" method="post" accept-charset="utf-8">
<textarea class="edit" name="news_content" id="news_content" rows="30" cols="32" style="width:95%;">{$news_content}</textarea>
<script type="text/javascript" src="ext/ckeditor/ckeditor.js"></script>
<script type="text/javascript">
     CKEDITOR.replace( 'news_content' )
</script>
<input type="submit" accesskey="s" value="Eintragen (Alt+S)" class="button">
</form>
Run Code Online (Sandbox Code Playgroud)

它已正确加载,我可以使用编辑器进行任何更改.但是,当使用普通的提交按钮(这里根本没有AJAX或JS)提交表单时,$ _POST数组中没有条目"news_content",也没有任何其他元素包含数据.

使用普通提交按钮提交表单后如何使用内容?

在此先感谢Daniel先生

html php ckeditor

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

使用 Python 修改 PCAP

我需要读取 PCAP 文件,修改一些字段(实际上是 IPv4 源和目标以及以太网源和目标)。PCAP 经过预过滤,仅包含以太网上的 IPv4 数据包。

到目前为止,我尝试使用 scapy 来执行此操作,但它存在严重的内存问题。当读取 ~350MB PCAP 文件时,我的 16GB RAM 已完全填满。其实只是读书而已。我还没有对该文件执行任何其他操作。我也找到了这个答案,并且通过这些更改,阅读速度非常快。一旦我开始修改数据包,内存就会再次膨胀。Scapy 实际上在这种情况下不可用

我也考虑过使用其他工具,例如 tcprewrite,但它不能满足我的目的。每个数据包的源 MAC 始终相同,这也可以使用 tcprewrite 来完成。源IP在给定的子网范围内应该是随机的,例如均匀分布在10.0.0.0/16中。不太容易。更复杂的是目标IP,需要根据给定的流量矩阵计算出来。

所以问题是:如何读取 PCAP 文件,使用自定义函数修改四个基本字段(以太网 src+dst、IP src+dst),并将其写回(另一个)PCAP 文件?

实际上,我的框架的其余部分是用Python编写的,所以我更喜欢基于Python的解决方案。但是,由于我可以简单地调用其他脚本,因此这不是强制性的。谢谢你!

python pcap

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

标签 统计

python ×3

docker ×2

ckeditor ×1

html ×1

keycloak ×1

list ×1

mysql ×1

openapi ×1

pcap ×1

php ×1

scp ×1

servicestack-openapi ×1

swagger ×1

wildfly ×1