Home > Backend Development > Python Tutorial > Connection string causing problems

Connection string causing problems

WBOY
Release: 2024-02-22 13:40:03
forward
1104 people have browsed it

Connection string causing problems

Question content

I'm having some weird issues related to connection strings in python. We have a requirement to connect to external data sources via API and extract data. When connecting through the api, we need to pass various credentials as a string as part of the raw_data as shown in the example below (this is not the actual credentials but serves as an example).

raw_data = 'client_id=jwelpoc1xar4nkldtaxswgtzjsq5fso2dghxtr&user_id=dfgrwsaq&company_id=xyzcomp&token_url=https://test.xyz.link.com/successfactors/oauth/token?grant_type=client_credentials&private_key=fg2asddffgjjhhmmdkfwqhdbd5cfsnvvddghhhbfghsf3f6sdffghhgjd45dtg4sghjddf6fg'
Copy after login

The following is the api command I use to connect to the api

response = requests.get(url=api_url, headers=headers, data=**raw_data**)
Copy after login

Now when I write the code like this it works fine without any issues. However, it doesn't work when I retrieve the credentials from secret manager and build raw_data after saving to different variables and then concatenating to form a string.

client_id = secret["sf"]["client_id"]
company_id = secret["sf"]["company_id"]
user_id = secret["sf"]["user_id"]
private_key = secret["sf"]["private_key"]


raw_data = "'client_id={}&user_id={}&company_id={}&token_url={}&private_key={}'".format(client_id, user_id, company_id, token_url, private_key)
Copy after login

If I print the raw_data variable after connecting, it shows the exact same string, but this way I can't connect.

So I'd like to understand if the concatenation is using the actual meaning of the special characters in the string, causing the problem.

I have used other methods to concatenate these variables but all throw the same error.

Please advise.


Correct Answer


You did not form the same string, you added the extra single quotes:

↓                      ↓
"'client_id=...ghjddf6fg'"
Copy after login

You are most likely to use:

raw_data = 'client_id={}&user_id={}&company_id={}&token_url={}&private_key={}'.format(client_id, user_id, company_id, token_url, private_key)
Copy after login

The above is the detailed content of Connection string causing problems. For more information, please follow other related articles on the PHP Chinese website!

source:stackoverflow.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template