小编use*_*654的帖子

错误:未找到:在美国位置未找到数据集 my-project-name:domain_public

我需要查询公共项目提供的数据集。我创建了自己的项目并将他们的数据集添加到我的项目中。有一个名为:的表domain_public。当我查询此表时,出现此错误:

 Query Failed
Error: Not found: Dataset my-project-name:domain_public was not found in location US
Job ID: my-project-name:US.bquijob_xxxx
Run Code Online (Sandbox Code Playgroud)

我来自非美国国家。请问这是什么问题以及如何解决?

编辑 1: 我将处理位置更改为asia-northeast1(我在新加坡)但同样的错误:

Error: Not found: Dataset censys-my-projectname:domain_public was not found in location asia-northeast1 
Run Code Online (Sandbox Code Playgroud)

这是我的项目和公共项目的视图censys-io

在此处输入图片说明

请指教。

编辑 2: 我用来键入的查询基于 censys教程是:

#standardsql
SELECT domain, alexa_rank
FROM domain_public.current
WHERE p443.https.tls.cipher_suite = 'some_cipher_suite_goes_here';
Run Code Online (Sandbox Code Playgroud)

当我将FROM条款更改为:

FROM `censys-io.domain_public.current`
Run Code Online (Sandbox Code Playgroud)

最后一行:

WHERE p443.https.tls.cipher_suite.name = 'some_cipher_suite_goes_here';
Run Code Online (Sandbox Code Playgroud)

有效。我是否应该理解我应该始终包括projectname.dataset.table(如果我使用正确的术语)并指出 Censys 的错字?或者出于某种原因,这是这个项目的特例吗?

google-bigquery

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

如何使正则表达式不区分大小写?

如果我在正则表达式中匹配一个单词,'Strict-Transport'我如何使它不区分大小写?除了为每个字符放置两个字符大小写 [Ss] 之外,还有其他方法吗,因为它与首字母无关,但所有字符都可以出现在任何情况下?

我看了以前的帖子,但没有像我的情况。例如,这篇文章展示了如何在使用字符列表时使正则表达式不区分大小写[]。但我的情况是正则表达式中的一个词。

regex

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

如何在ssl python套接字中设置密码

我想使用密码字符串创建自己的密码套件列表。如果我在函数中只放入一个字符串,则以下代码将起作用set_ciphers。但我想要一份定制的密码列表。还有其他格式,例如:ALL:!COMPLEMENTOFDEFAULT:!eNULL但这并不能达到我需要的目的。我有一个不同密码的自定义列表,无法使用第二种格式进行组合。

import socket, ssl
import pprint

context = ssl.create_default_context()

cipher = ['DHE-RSA-AES128-SHA', 'DHE-RSA-AES256-SHA', 'ECDHE-ECDSA-AES128-GCM-SHA256']
context.set_ciphers(cipher)

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

domain = 'google.com'

sslSocket = context.wrap_socket(s, server_hostname = domain)

sslSocket.connect((domain, 443))
sslSocket.close()
print('closed')
Run Code Online (Sandbox Code Playgroud)

该函数可以在这里set_ciphers找到。

python sockets ssl openssl tls1.2

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

无法在 python3.6 中导入 ssl: ModuleNotFoundError: No module named '_ssl'

我从源代码安装了 python 3.6。Python 似乎工作正常,但我无法导入 openssl 1.1.1(我需要使用的预发行版)。我认为存在路径问题但不确定。当我尝试从 python 导入 ssl 时,这是我得到的输出:

~/Downloads/Python-3.6.5$ python3
Python 3.6.5 (default, May  9 2018, 15:43:39) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.6/ssl.py", line 101, in <module>
    import _ssl             # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl' 
Run Code Online (Sandbox Code Playgroud)

有什么建议?

当我安装 openssl 时,我抓取了源代码

./config
sudo make
sudo …
Run Code Online (Sandbox Code Playgroud)

python ssl openssl python-import python-3.x

6
推荐指数
0
解决办法
3564
查看次数

如何在 python ssl 中获取 TLS 客户端支持的 TLS 版本

在 python ssl 中,可以配置 TLS 客户端的密码套件和版本。密码套件使用 进行设置 context.set_ciphers(ciphers),版本使用 进行设置context.options

为了确保从设置中,人们可以使用 获取客户端中的密码(甚至在握手之前,这是为了设置客户端)context.get_ciphers()

我的问题:如何获得客户端支持的协议。请注意,我没有使用默认版本。我通过排除某些版本来更改它们context.options。例如,此语句从我的客户端中排除 TLS 1.1:

context.options |= ssl.OP_NO_TLSv1_1
Run Code Online (Sandbox Code Playgroud)

我想确保我的客户端 TLS 版本的形成方式与我在密码中使用的方式相同context.get_ciphers()。我有什么办法可以这样做吗?

python sockets ssl tls1.2

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

./python:加载共享库时出错:libssl.so.1.1:无法打开共享库文件:没有这样的文件或目录

我需要在Ubuntu 16.04中使用openssl-1.1.1尝试python 3.7。python和openssl版本都是预发行版本。按照上一篇文章中有关如何统计将openssl链接到python 的说明,我下载了opnssl-1.1.1的源代码。然后导航到openssl的源代码并执行:

./config
sudo make
sudo make install
Run Code Online (Sandbox Code Playgroud)

然后,编辑Modules/Setup.dist以取消注释以下行:

SSL=/usr/local/ssl
_ssl _ssl.c \
    -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
    -L$(SSL)/lib -lssl -lcrypto
Run Code Online (Sandbox Code Playgroud)

然后下载python 3.7源代码。然后,在源代码中导航并执行:

./configure
make
make install
Run Code Online (Sandbox Code Playgroud)

执行后make install,在终端输出的末尾出现此错误:

./python: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
generate-posix-vars failed
Makefile:596: recipe for target 'pybuilddir.txt' failed
make: *** [pybuilddir.txt] Error 1
Run Code Online (Sandbox Code Playgroud)

我不知道问题出在哪里,我需要做什么。

python ssl openssl pyopenssl

5
推荐指数
2
解决办法
2498
查看次数

逗号分隔符的推荐替代品是什么

我需要将程序输出写入文件。但是,某些字段已经包含空格、逗号、分号、制表符。所以我不想使用空格、制表符、逗号作为字段分隔符。数据来自网络,因此服务器管理员可能使用错误的格式。

我想使用任何虚构的字符串,比如我的名字。但如果输出可能被其他研究人员等使用,这可能是不专业的。

对于这个问题有什么建议吗?如果我害怕使用逗号、分号、制表符、空格作为分隔符,我应该使用什么?

编辑: 对于建议使用 json 或 csv 模块的答案,请注意我想将文件加载到 MySQL 数据库中。我只能向 MySQL 指定字段由 [某些分隔符] 分隔。我还需要一个简单的解决方案。

python separator file-writing

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

在 Windows 10 x64 和 Python 3.6.5 中安装 pycrypto:失败,错误代码 1 在 C:\Users\x\AppData\Local\Temp\pip-install-u7xhxrk \pycrypto\

我需要pycrypto,因为需要在dnspython库中使用一些函数。我在网上找到了一些帖子,表明它pycrypto已经死了。但是,我需要dnspython并且别无选择,只能使用它。我什至尝试安装,pycryptodome因为他们建议它是替代品,pycrypto但我使用dnspython库的程序引发了错误:

Traceback (most recent call last):
  File "test-3-dnssec.py", line 40, in <module>
    dns.dnssec.validate(answer[0],answer[1],{name:answer[0]})
  File "C:\Python36\lib\site-packages\dns\dnssec.py", line 417, in _validate
    _validate_rrsig(rrset, rrsig, keys, origin, now)
  File "C:\Python36\lib\site-packages\dns\dnssec.py", line 371, in _validate_rrsig
    if pubkey.verify(digest, sig):
  File "C:\Python36\lib\site-packages\Crypto\PublicKey\RSA.py", line 372, in verify
    raise NotImplementedError("Use module Crypto.Signature.pkcs1_15 instead")
NotImplementedError: Use module Crypto.Signature.pkcs1_15 instead
Run Code Online (Sandbox Code Playgroud)

根据类似的错误,这是因为使用pycryptodome而不是pycrypto. Pycryptodome就我而言,它不是 pycrypto 的替代品。

我安装了 Visual Studio 2017。我按照库的gihub 页面 …

python cryptography pycrypto

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

无法解析 json 文件:json.decoder.JSONDecodeError:额外数据。

我有一个json文件。它的简化版本如下所示:

{
  "host": "a.com",
  "ip": "1.2.2.3",
  "port": 8
}
{
  "host": "b.com",
  "ip": "2.5.0.4",
  "port": 3

}
{
  "host": "c.com",
  "ip": "9.17.6.7",
  "port": 4
}
Run Code Online (Sandbox Code Playgroud)

我运行这个脚本parser.py来解析它:

import json
from pprint import pprint

with open('myfile.json') as f:
    data = json.load(f)
pprint(data)
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

Traceback (most recent call last):
  File "parser.py", line 5, in <module>
    data = json.load(f)
  File "/usr/lib/python3.6/json/__init__.py", line 299, in load
    parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.6/json/decoder.py", line 342, …
Run Code Online (Sandbox Code Playgroud)

python parsing json

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

python的json:AttributeError:'str'对象没有属性'keys'

我正在尝试加载格式化为字典的字符串(实际程序从文件中读取这一行,它是一个非常大的文件,我无法手动修改)。

我需要将字符串行转换为 json 对象,以便我可以检查特定键的值,例如myJson[Date].

这是脚本:

import json

mystring = "{'Date': 'Fri, 19 Apr 2019 03:58:04 GMT', 'Server': 'Apache/2.4.39', 'Accept-Ranges': 'bytes'}"


mystring = json.dumps(mystring)
myJson = json.loads(mystring)

print(str(myJson.keys()))
print(str(myJson))
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

AttributeError: 'str' object has no attribute 'keys'
Run Code Online (Sandbox Code Playgroud)

我怀疑mystring格式不符合,单引号应该是双引号?鉴于我有大量数据,我不能简单地使用简单的搜索/替换将单冒号替换为双冒号,因为单冒号可能包含在我不应修改的值中。如果这是问题的原因,有没有办法只替换键/值对的冒号而不触及值中的冒号?我希望这不是问题。

python json dictionary python-3.x

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