Heim  >  Artikel  >  Backend-Entwicklung  >  Verbindungszeichenfolge verursacht Probleme

Verbindungszeichenfolge verursacht Probleme

WBOY
WBOYnach vorne
2024-02-22 13:40:031037Durchsuche

Verbindungszeichenfolge verursacht Probleme

Frageninhalt

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.


Richtige Antwort


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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen