小编Mat*_*sen的帖子

如何让Python请求信任自签名SSL证书?

import requests
data = {'foo':'bar'}
url = 'https://foo.com/bar'
r = requests.post(url, data=data)
Run Code Online (Sandbox Code Playgroud)

如果URL使用自签名证书,则会失败

requests.exceptions.SSLError: [Errno 1] _ssl.c:507: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Run Code Online (Sandbox Code Playgroud)

我知道我可以传递Falseverify参数,如下所示:

r = requests.post(url, data=data, verify=False)
Run Code Online (Sandbox Code Playgroud)

但是,我想要做的是将请求指向磁盘上的公钥副本,并告诉它信任该证书.

python ssl python-requests

53
推荐指数
9
解决办法
8万
查看次数

如何通过Python访问Hive?

https://cwiki.apache.org/confluence/display/Hive/HiveClient#HiveClient-Python似乎已过时.

当我将其添加到/ etc/profile时:

export PYTHONPATH=$PYTHONPATH:/usr/lib/hive/lib/py
Run Code Online (Sandbox Code Playgroud)

然后,我可以执行链接中列出的导入,from hive import ThriftHive但实际需要的除外:

from hive_service import ThriftHive
Run Code Online (Sandbox Code Playgroud)

接下来示例中的端口是10000,当我尝试时导致程序挂起.默认的Hive Thrift端口是9083,它停止了悬挂.

所以我这样设置:

from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
try:
    transport = TSocket.TSocket('<node-with-metastore>', 9083)
    transport = TTransport.TBufferedTransport(transport)
    protocol = TBinaryProtocol.TBinaryProtocol(transport)
    client = ThriftHive.Client(protocol)
    transport.open()
    client.execute("CREATE TABLE test(c1 int)")

    transport.close()
except Thrift.TException, tx:
    print '%s' % (tx.message)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/hive/lib/py/hive_service/ThriftHive.py", line 68, in execute …
Run Code Online (Sandbox Code Playgroud)

python hadoop hive

44
推荐指数
7
解决办法
15万
查看次数

Python __getitem__ 和 in 运算符导致奇怪的行为

什么解释了以下行为:

class Foo:
    def __getitem__(self, item):
        print("?")
        return 1

f = Foo()

1 in f  # prints one ? and returns True

5 in f  # prints ? forever until you raise a Keyboard Exception

# Edit: eventually this fails with OverflowError: iter index too large
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

无法启动cygwin sshd服务

我进入ssh-host-config了cygwin提示符(以管理员权限启动),对权限分离表示肯定,新本地帐户sshd,安装sshd作为服务; 我为守护进程没有为CYGWIN输入任何值; 我拒绝使用不同的名字; 是的,用于创建新的权限用户帐户.

在我,services.msc我无法启动服务:

The CYGWIN sshd service on Local Computer started and then stopped. 
Some services stop automatically if they are not in use by other services
or programs.
Run Code Online (Sandbox Code Playgroud)

在cygwin提示符中,net start sshd生成:

The CYGWIN sshd service could not be started. 
The service did not report an error.
More help is available by typing NET HELPMSG 3534
Run Code Online (Sandbox Code Playgroud)

在cygwin提示符中,cygrunsrv -S sshd生成:

cygrunsrv: Error starting a service: QueryServiceStatus:  Win32 error 1062:
The service …
Run Code Online (Sandbox Code Playgroud)

cygwin hadoop sshd

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

如何使用烧瓶中的ajax调用上传文件

嗨,我对烧瓶很新,我想使用ajax调用上传文件到服务器.如文档中所述,我将文件上传到html,如下所示:

<form action="" method=post enctype="multipart/form-data" id="testid">
 <table>
  <tr>
   <td>
     <label>Upload</label>
   </td>
   <td>
     <input id="upload_content_id" type="file" name="upload_file" multiple>
     <input type="button" name="btn_uplpad" id="btn_upload_id" class="btn-upload" value="Upload"/>

   </td>
  </tr>
 </table>
</form>
Run Code Online (Sandbox Code Playgroud)

我写了这个ajax处理程序

$(document).ready(function() {
    $("#btn_upload_id" ).click(function() {           
        $.ajax({
            type : "POST",
            url : "/uploadajax",
            cache: false,
            async: false,
            success : function (data) {},
            error: function (XMLHttpRequest, textStatus, errorThrown) {}
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

我不知道如何从这里获取上传的文件(不是名字)

  <input id="upload_content_id" type="file" name="upload_file" multiple>
Run Code Online (Sandbox Code Playgroud)

并将文件保存在文件夹中.我不太确定如何从我编写的处理程序中读取文件:

@app.route('/uploadajax', methods = ['POST'])
def upldfile():
    if request.method == 'POST':
        file_val = request.files['file']
Run Code Online (Sandbox Code Playgroud)

如果有人能提供帮助,我将不胜感激.先感谢您

python ajax flask

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

如何在我的Raspberry Pi上打开外部/远程连接的MySQL?

我有一个Raspberry Pi,可存储自制活动的温度数据.我正在我的计算机上创建一个Spring MVC应用程序,我想点击数据.我的Pi和我的电脑都在本地网络上.我可以完美地将SSH和FTP连接到我的RPi中.

mysql --192.168.1.102 --u root -p db
Run Code Online (Sandbox Code Playgroud)

导致"无法连接到'192.168.1.102上的MySQL服务器'".

显然,我的Java应用程序也没有连接.

SHOW VARIABLES WHERE VARIABLE_NAME = 'port' ;
Run Code Online (Sandbox Code Playgroud)

返回默认端口3306.

是否有必须启用的设置才允许远程连接到MySQL?

mysql remote-connection raspberry-pi

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

如何在T-SQL/SQL Server中为超级/子类型(继承)实体模拟BEFORE INSERT触发器?

这是在Azure上.

我有一个超类型实体和几个子类型实体,后者需要从每个插入的超类型实体的主键获取它们的外键.在Oracle中,我使用BEFORE INSERT触发器来完成此任务.如何在SQL Server/T-SQL中实现这一目标?

DDL

CREATE TABLE super (
 super_id int IDENTITY(1,1)
 ,subtype_discriminator char(4) CHECK (subtype_discriminator IN ('SUB1', 'SUB2')
 ,CONSTRAINT super_id_pk PRIMARY KEY (super_id)
);
CREATE TABLE sub1 (
 sub_id int IDENTITY(1,1)
,super_id int NOT NULL
,CONSTRAINT sub_id_pk PRIMARY KEY (sub_id)
,CONSTRAINT sub_super_id_fk FOREIGN KEY (super_id) REFERENCES super (super_id)
);
Run Code Online (Sandbox Code Playgroud)

我希望插入sub1一个触发器来实际插入一个值super并使用super_id生成的值sub1.

在Oracle中,这可以通过以下方式完成:

CREATE TRIGGER sub_trg
    BEFORE INSERT ON sub1
    FOR EACH ROW
DECLARE
    v_super_id int; //Ignore the fact that I …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server triggers azure-sql-database

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

如何在正常调用时让python脚本调用"python -i"?

我有一个我喜欢运行的python脚本python -i script.py,它运行脚本然后进入交互模式,以便我可以使用结果.

是否可以让脚本本身调用此选项,以便我可以运行python script.py并且脚本在运行后将进入交互模式?

当然,我可以简单地添加-i,或者如果需要付出太多努力,我可以编写一个shell脚本来调用它.

python python-interactive

19
推荐指数
3
解决办法
1070
查看次数

Git错误:请求的URL返回错误:504访问http://时的网关超时

我正在使用由我公司的内部云(KVM) - RHEL 6.4配置的VM.

我能够从互联网克隆外部存储库.然而,我无法弄清楚如何在我公司的内部网上克隆内部存储库.

起初我没有设置http_proxyhttps_proxy收到此错误:

error: The requested URL returned error: 401 Authorization Required while accessing http://....
Run Code Online (Sandbox Code Playgroud)

设置完成后http_proxyhttps_proxy,我现在正在等待约60秒后收到此错误:

error: The requested URL returned error: 504 Gateway Timeout while accessing http://...
Run Code Online (Sandbox Code Playgroud)

我可以从我的笔记本电脑克隆这个repo find,而不是VM

关于我应该在哪里看的任何想法?

谢谢.

git http-status-code-504

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

软件中的架构和基础架构有什么区别?

我刚刚发布了一个问题,询问MapR和Cloudera架构之间的区别,并交替使用"架构"和"基础架构".这个合适吗?

为了将其置于上下文中,MapR和Cloudera是Hadoop的发行版.它们每个都包含各种守护进程,它们以各种方式相互交互.当我提到基础架构/架构时,我指的是守护进程,它们的动作以及守护进程之间的关系.

我正在寻找的正确的词是什么 - 建筑或基础设施?

两者有什么区别?

architecture infrastructure

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