小编Nun*_*dré的帖子

无法找到所请求目标的有效证书路径 - 即使在导入证书后也会出错

我有一个Java客户端试图访问带有自签名证书的服务器.

当我尝试发布到服务器时,我收到以下错误:

无法找到所请求目标的有效证书路径

在对这个问题进行了一些研究之后,我做了以下工作.

  1. 将我的服务器域名保存为root.cer文件.
  2. 在我的Glassfish服务器的JRE中,我运行了这个:
    keytool -import -alias example -keystore cacerts -file root.cer
  3. 要检查证书是否已成功添加到我的cacert,我这样做:
    keytool -list -v -keystore cacerts
    我可以看到证书存在.
  4. 然后我重新启动了Glassfish并退出了"帖子".

我仍然得到同样的错误.

我有一种感觉这是因为我的Glassfish实际上并没有阅读我修改过的cacert文件,但可能还有其他一些.

你们有没有遇到过这个问题,能否把我推向正确的方向?

java ssl keytool

182
推荐指数
7
解决办法
63万
查看次数

将参数传递给使用 Axios 的 React-query useQuery 方法的正确方法是什么

我目前正在构建一个带有 React 前端的 Ruby on Rails Webpacker 应用程序。我现在想要创建调用 Rails API 所需的所有请求。我大致遵循本教程https://www.youtube.com/watch?v=0bKc_ch6MZY(https://github.com/daryanka/react-query-tutorial/blob/master/src/containers/Post.jshttps://github.com/daryanka/react-query-tutorial/blob/master/src/Queries.js),为了编写一些基于 axios 的查询函数,我可以将其与react-query一起使用。当端点的 url 是硬编码字符串时,我可以毫无问题地让查询按预期运行。当我尝试传入一个参数来创建动态网址时,我遇到了无法访问该参数的问题;特别是“prodId”参数。然而,我确实注意到“prodId”位于“key”参数数组内,如下所示:

queryKey: Array(2)
0: "product"
1: "1"
length: 2
enter code here
Run Code Online (Sandbox Code Playgroud)

我可以从那里访问它,但这种方法似乎有点不对劲,我也没有找到任何尝试从查询键数组访问参数的示例或文档。我想知道我在传递参数方面做错了什么?反应查询中是否有一些我没有考虑到的语法变化?

反应查询@^3.17.2

webpacker (5.2.1)

axios@^0.21.1

//Product.js

import axios from "axios"
import { getProduct } from "../../queries/products"
import { useQuery } from "react-query"

const prodId= '1'
const { data } = useQuery(['product', prodId], getProduct)

//queries/products.js
import axios from 'axios'

export const getProduct = async (key, { prodId }) => { …
Run Code Online (Sandbox Code Playgroud)

reactjs axios webpacker react-query

29
推荐指数
2
解决办法
9万
查看次数

从CSV文件中删除空格

我需要从我读过的CSV文件中划分空格

import csv

aList=[]
with open(self.filename, 'r') as f:
    reader = csv.reader(f, delimiter=',', quoting=csv.QUOTE_NONE)
    for row in reader:
        aList.append(row)
    # I need to strip the extra white space from each string in the row
    return(aList)
Run Code Online (Sandbox Code Playgroud)

python csv data-munging

25
推荐指数
4
解决办法
4万
查看次数

从脚本登录到 Azure

我想使用 azure-cli (az 命令)在 Linux 上运行 shell 脚本,无需输入密码即可登录 Azure,并运行其他 azure-cli 命令而无需再次登录。

首先,我一旦运行“ az login ”,它会在我的主目录下创建一个 .azure,它保存所有登录信息,并使我能够运行其他 az 命令而无需再次登录。几周/几个月后,它停止工作,再次运行“ az login ”解决了问题。

  1. 有什么方法可以取消/增加保存在 .azure 目录中的到期日期,这样我就不需要再次运行“ az login ”?
  2. 我考虑添加应用程序用户。我点击链接创建应用程序用户。在“新应用程序注册”中,它询问“登录 URL”我需要输入什么值,我的脚本没有 URL。

在不输入密码的情况下从脚本登录到 azure 的最佳方法是什么?

谢谢。

azure azure-cli

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

如何运行没有ps1扩展名的powershell脚本

我正在使用ops工具Rundeck,它允许执行任意脚本.我在Web应用程序窗口小部件中输入脚本文本,并在执行时,Rundeck将其保存到临时文件并调用解释器.问题是临时文件没有ps1扩展名,Powershell拒绝执行它.

有没有办法设置Powershell来忽略扩展?

=== 2018年编辑===

Rundeck现在在作业定义中有一个选项.

powershell rundeck

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

复合索引 SQLModel

我正在尝试 SQLModel ( https://sqlmodel.tiangolo.com/ ),我发现我必须在多个字段之间创建复合索引,但我不知道如何使用 SQLModel 库来做到这一点。

数据库模型

我发现的唯一解决方法是直接使用 sqlalchemy Index,而不是 index=true (来自为唯一字段创建索引时的 SQLModel 文档 - )

class Jump(SQLModel, table=True):
    """
    SQL Table abstraction: Jump
    Contains data belonging to a connection between a questionnaire-version
    and another questionnaire-version
    """

    origin_name: str = Field(primary_key=True)
    origin_version: int = Field()
    destination_name: str = Field()

    __table_args__ = (
        Index(
            "compound_index_origin_name_version_destination_name",
            "origin_name",
            "origin_version",
            "destination_name",
        ),
    )
Run Code Online (Sandbox Code Playgroud)

python database indexing model sqlmodel

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

使用 asyncio 扩展与 SQLite 后端因版本升级而损坏

当尝试使用 asyncio 扩展连接到 SQLite 引擎时,从 SQLAlchemy 版本升级1.4.0b2到 会导致以下错误。1.4.0b3

>>> from sqlalchemy.ext.asyncio import create_async_engine
>>> engine = create_async_engine('sqlite:///database.db', echo=True, future=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<...>/venv/lib/python3.9/site-packages/sqlalchemy/ext/asyncio/engine.py", line 41, in create_async_engine
    return AsyncEngine(sync_engine)
  File "/.../venv/lib/python3.9/site-packages/sqlalchemy/ext/asyncio/engine.py", line 531, in __init__
    raise exc.InvalidRequestError(
sqlalchemy.exc.InvalidRequestError: The asyncio extension requires an async driver to be used. The loaded 'pysqlite' is not async.
Run Code Online (Sandbox Code Playgroud)

这是由于 SQLite 驱动程序和 asyncio 扩展之间不兼容造成的吗?但是,如果是这种情况,为什么它适用于 version 1.4.0b2

>>> from sqlalchemy.ext.asyncio import create_async_engine
>>> …
Run Code Online (Sandbox Code Playgroud)

python sqlite sqlalchemy python-asyncio aiosqlite

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

exchangelib - 自动发现协议中的所有步骤都失败了

我在python中使用exchangelib时遇到问题.我试试这个示例代码:

from exchangelib import DELEGATE, Account, Credentials

creds = Credentials(
    username='xxxx\\username', 
    password="mypassword"
)

account = Account(
    primary_smtp_address='surname.name@xxxx.fr',
    credentials=creds, 
    autodiscover=True, 
    access_type=DELEGATE
)

# Print first 10 inbox messages in reverse order
for item in account.inbox.all().order_by('-datetime_received')[:10]:
    print(item.subject, item.body, item.attachments)

Run Code Online (Sandbox Code Playgroud)

我尝试了不同的用户名但没有任何作用,我总是有相同的错误消息: AutoDiscoverFailed: All steps in the autodiscover protocol failed

顺便说一句,以防万一它可以提供帮助,我试图使用为C#编码的Exchange Web服务,它可以完美地使用这些信用卡,我可以发送邮件:

static void Main(string[] args)
{
    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
    // The last parameter is the domain name
    service.Credentials = new WebCredentials("username", "password", "xxxx.lan");
    service.AutodiscoverUrl("surname.name@xxxx.fr", RedirectionUrlValidationCallback);
    EmailMessage email = new EmailMessage(service);
    email.ToRecipients.Add("surname.name@xxxx.fr"); …
Run Code Online (Sandbox Code Playgroud)

python exchange-server exchangewebservices office365 exchangelib

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

带有远程配置文件的Selenium Remote Webdriver

是否可以在服务器中使用特定的远程配置文件(不是临时的)打开Selenium Remote Webdriver?

我只能browser_profile从客户端传递一个。如果我实例化没有browser_profileSelenium 的类,则会在服务器中创建一个新的临时配置文件。

from selenium import webdriver

class Remote(webdriver.Remote):
    def __init__(self, **kwargs):
        capabilities = {_**whatever_}

        super().__init__(
            command_executor='http://HOST:PORT/wd/hub',
            desired_capabilities=capabilities.copy(),
            browser_profile=webdriver.FirefoxProfile(_what?_)
        )
Run Code Online (Sandbox Code Playgroud)

python selenium remotewebdriver

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

PyQt GridLayout结合小部件

因此,例如,我有具有一个GUI label1+ line_edit1,label2+ line_edit2,button1,button2,button3.在正常意义上,代码看起来有点像这样:

class gridlayout_example(QtGui.QWidget):
    def __init__(self):
        self.grid_layout = QtGui.QGridLayout()

        self.label1 = QtGui.QLabel("label1")
        self.grid_layout.addWidget(self.label1,0,0,1,3)

        self.line_edit1 = QtGui.QLineEdit()
        self.grid_layout.addWidget(self.line_edit1,1,0,1,3)

        self.label2 = QtGui.QLabel("label2")
        self.grid_layout.addWidget(self.label1,2,0,1,3)

        self.line_edit2 = QtGui.QLineEdit()
        self.grid_layout.addWidget(self.line_edit2,3,0,1,3)

        self.button1 = QtGui.QPushButton("button1")
        self.button2 = QtGui.QPushButton("button2")
        self.button3 = QtGui.QPushButton("button3")

        self.grid_layout.addWidget(self.button1, 4,0,1,1)
        self.grid_layout.addWidget(self.button2, 4,1,1,1)
        self.grid_layout.addWidget(self.button3, 4,2,1,1)

        self.setLayout(self.grid_layout)
Run Code Online (Sandbox Code Playgroud)

但有没有办法将label1+ line_edit1label2+ 结合起来,line_edit2所以它变成了:

[label1                    
 line edit1               ] -> (0,0,1,3)
[label2                    
 line edit2               ] -> (1,0,1,3)
[button1][button2][button3] -> (2,x,1,1)
Run Code Online (Sandbox Code Playgroud)

所以基本上label1 …

pyqt

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

Python:如何获取登录用户的域\用户名

在 Python 中,如何以域\用户名格式获取登录用户名。以下只是获取用户名:

import getpass
import os

print(os.getlogin())
print(getpass.getuser())
Run Code Online (Sandbox Code Playgroud)

python windows active-directory

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

使用`getElementsByTagName`获取单个元素

我知道如果我们想要找到一组元素,getElementsByTagName就是我们的方法,它返回一个NodeList.但如果我们正在寻找带有"body"的标签名称,那么为什么我们需要在("body")元素之后添加[0]?HTML文档中只有一个正文标记.

 var body = document.getElementsByTagName("body")[0];
 body.className = "unreadable";
Run Code Online (Sandbox Code Playgroud)

为什么我们不能像这样编写没有索引[0]的代码

 var body = document.getElementsByTagName("body");
 body.className = "unreadable";
Run Code Online (Sandbox Code Playgroud)

如果我写这个代码,那么不可读的类将不会添加body标签...为什么?

html javascript dom getelementsbytagname

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