Saya menghadapi beberapa isu pelik berkaitan rentetan sambungan dalam python. Kami mempunyai keperluan untuk menyambung ke sumber data luaran melalui API dan mengekstrak data. Apabila menyambung melalui api, kita perlu lulus pelbagai bukti kelayakan sebagai rentetan sebagai sebahagian daripada raw_data seperti yang ditunjukkan dalam contoh di bawah (ini bukan bukti kelayakan sebenar tetapi berfungsi sebagai contoh).
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'
Berikut ialah arahan api yang saya gunakan untuk menyambung ke api
response = requests.get(url=api_url, headers=headers, data=**raw_data**)
Sekarang apabila saya menulis kod seperti ini, ia berfungsi dengan baik tanpa sebarang masalah. Walau bagaimanapun, ia tidak berfungsi apabila saya mendapatkan semula bukti kelayakan daripada pengurus rahsia dan membina raw_data selepas menyimpan ke pembolehubah berbeza dan kemudian menggabungkan untuk membentuk rentetan.
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)
Jika saya mencetak pembolehubah raw_data selepas menyambung, ia menunjukkan rentetan yang sama, tetapi dengan cara ini saya tidak boleh menyambung.
Jadi saya ingin memahami jika penggabungan menggunakan maksud sebenar aksara khas dalam rentetan, menyebabkan masalah.
Saya telah menggunakan kaedah lain untuk menggabungkan pembolehubah ini tetapi semuanya membuang ralat yang sama.
Sila beri nasihat.
Anda telah membentuk rentetan yang sama, anda menambah petikan tunggal tambahan:
↓ ↓ "'client_id=...ghjddf6fg'"
Anda berkemungkinan besar menggunakan:
raw_data = 'client_id={}&user_id={}&company_id={}&token_url={}&private_key={}'.format(client_id, user_id, company_id, token_url, private_key)
Atas ialah kandungan terperinci Rentetan sambungan menyebabkan masalah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!