Heim >Backend-Entwicklung >Python-Tutorial >Verbindungszeichenfolge verursacht Probleme
Ich habe einige seltsame Probleme im Zusammenhang mit Verbindungszeichenfolgen in Python. Wir müssen über eine API eine Verbindung zu externen Datenquellen herstellen und Daten extrahieren. Wenn wir eine Verbindung über die API herstellen, müssen wir verschiedene Anmeldeinformationen als Zeichenfolge als Teil der Rohdaten übergeben, wie im folgenden Beispiel gezeigt (dies sind nicht die tatsächlichen Anmeldeinformationen, sondern dienen als Beispiel).
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'
Das Folgende ist der API-Befehl, den ich verwende, um eine Verbindung zur API herzustellen
response = requests.get(url=api_url, headers=headers, data=**raw_data**)
Wenn ich jetzt solchen Code schreibe, funktioniert er einwandfrei und ohne Probleme. Es funktioniert jedoch nicht, wenn ich die Anmeldeinformationen vom Secret Manager abrufe und die Rohdaten erstelle, nachdem ich sie in einer anderen Variablen gespeichert und anschließend zu einer Zeichenfolge verkettet habe.
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)
Wenn ich die Variable raw_data nach dem Herstellen der Verbindung ausdrucke, wird genau dieselbe Zeichenfolge angezeigt, aber auf diese Weise kann ich keine Verbindung herstellen.
Ich möchte also verstehen, ob die Verkettung die tatsächliche Bedeutung der Sonderzeichen in der Zeichenfolge verwendet, was das Problem verursacht.
Ich habe andere Methoden verwendet, um diese Variablen zu verketten, aber alle Methoden geben den gleichen Fehler aus.
Bitte um Rat.
Sie haben dieselbe Zeichenfolge gebildet, Sie haben die zusätzlichen einfachen Anführungszeichen hinzugefügt:
↓ ↓ "'client_id=...ghjddf6fg'"
Am wahrscheinlichsten verwenden Sie:
raw_data = 'client_id={}&user_id={}&company_id={}&token_url={}&private_key={}'.format(client_id, user_id, company_id, token_url, private_key)
Das obige ist der detaillierte Inhalt vonVerbindungszeichenfolge verursacht Probleme. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!