2
respostas

URI invalida falta de conexão por authenticação

Boa noite, estou tentando realizar a conexão com o cluster criado no entanto recebi o erro abaixo:![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

InvalidURI Traceback (most recent call last)
Cell In[5], line 7
4 uri = "mongodb+srv://KlaytonBrito:%REya8282@cluster-pipeline.ypwhide.mongodb.net/?retryWrites=true&w=majority&appName=Cluster-pipeline"
6 #Create a new client and connect to the server
----> 7 client = MongoClient(uri, server_api=ServerApi('1'))
9 #Send a ping to confirm a successful connection
10 try:

File ~/Documentos/pipeline-python-mongo-mysql/venv/lib/python3.10/site-packages/pymongo/mongo_client.py:748, in MongoClient.init(self, host, port, document_class, tz_aware, connect, type_registry, **kwargs)
744 if timeout is not None:
745 timeout = common.validate_timeout_or_none_or_zero(
746 keyword_opts.cased_key("connecttimeoutms"), timeout
747 )
--> 748 res = uri_parser.parse_uri(
749 entity,
750 port,
751 validate=True,
752 warn=True,
753 normalize=False,
754 connect_timeout=timeout,
755 srv_service_name=srv_service_name,
756 srv_max_hosts=srv_max_hosts,
757 )
758 seeds.update(res["nodelist"])
...
74 )
76 user, _, passwd = userinfo.partition(":")
77 # No password is expected with GSSAPI authentication.

InvalidURI: Username and password must be escaped according to RFC 3986, use urllib.parse.quote_plus
Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...

Não estou conseguindo realizar a conexão mesmo tendo colocado o IP 0.0.0.0/0 no passo anterior.

2 respostas

Pessoal Resolvido o que estava ocorrendo é que o caractere inicial da minha senha era % o que não é permitido pela sintax generica da URI (RFC 3986) então tive que usar um código para representar esse caractere (%25) no caso alterando isso na minha senha o código rodou sem problemas.

E aí, Klayton! Como vai?

Fico feliz pela resolução do problema!

Encontrar que o caractere % na senha estava quebrando a URI e relacionar isso à RFC 3986 mostra atenção aos detalhes e domínio técnico. Substituir pelo código foi a solução perfeita, você não só resolveu o erro, como ainda aprendeu algo importante sobre codificação de caracteres em URIs.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!