libcurl を使用して、HTTP GET および PUT リクエストを提供しています。リクエストには、ログイン、パスワード、およびいくつかの追加情報が含まれています。
パスワードに @ 記号が含まれている - 1qa@WS#ED クエリは次のように作成されます
snprintf(api_req, sizeof(api_req), "http://%s:%s@%s/export?uuid=%s",\
XEN.user_name,XEN.user_passwd, XEN.host_ip, BACKUP_TASK.vm_uuid)
http://root:1qa@WS#ED@192.168.1.1/export?uuid=4851501f-82d5-cb73-3158-175cffbbf848
もちろん、@ は %40 に変換する必要があるため、この要求は失敗します。また、「:」、ドット、パーセント記号なども同様ですが、これはどの OS およびユーザー アカウントでも OK のパスワードです。そのような問題を処理するための最良の方法は何ですか? replacemnents を使用してシンボルごとに文字列シンボルを解析することは、あまり効果的ではないようです。プレーンCを使用しています