Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中通过身份验证连接到套接字_Python_Sockets_Mongodb_Http Authentication - Fatal编程技术网

在python中通过身份验证连接到套接字

在python中通过身份验证连接到套接字,python,sockets,mongodb,http-authentication,Python,Sockets,Mongodb,Http Authentication,我正在尝试通过python套接字连接到mongodb实例。url如下所示 用户名:password@host.com:端口 我如何使用python套接字连接到它 以下代码给出了此错误:[Errno-5]没有与主机名关联的地址 import socket import tornado full_url = '%s:%s@%s' % (username, password, host) s = socket.socket() s.connect((full_url, port)) stream =

我正在尝试通过python套接字连接到mongodb实例。url如下所示

用户名:password@host.com:端口

我如何使用python套接字连接到它

以下代码给出了此错误:[Errno-5]没有与主机名关联的地址

import socket
import tornado

full_url = '%s:%s@%s' % (username, password, host)
s = socket.socket()
s.connect((full_url, port))
stream = iostream.IOStream(s)

编辑-我询问的原因是asyncmongo目前不支持这种url类型。我想看看我是否能写一个补丁。asyncmongo库使用类似于上面代码中的套接字进行连接

您应该使用驱动程序连接到mongodb。如果你正在使用龙卷风(看起来你打算这么做),试试看;如果您使用的是线程化web服务器/应用程序框架(Django、Pylons等),则可以直接使用


编辑:至于此代码不起作用的原因,
socket
模块不接受URL进行连接,只接受主机名和端口。这是一个低级图书馆。要连接到(Web)URL,请考虑使用或./P>

编辑2:MongoDB中的身份验证不在传输级别处理,而是在应用程序级别处理。我建议您先阅读,然后看看PyMongo是如何实现身份验证的(在和中)。您还需要为asyncmongo移植或重新实现MongoDB连接URI解析,这已被记录在案。

我在问题中对此进行了澄清,但我正在尝试让asyncmongo使用这些URL:)