私は自分のプログラムを試していましたが、BASIC認証を可能にする修正されたバージョンのurlreadを使用しています。パスフレーズは、 ':パスユーザーのbase64でエンコードされた文字列であるMATLABで文字列を比較する問題
urlConnection.setRequestProperty('Authorization', 'Basic passphrase');
...:問題は、私は基本urlread関数に次のコード行を含める必要があるということです。その行の文字列にパスフレーズを直接置くとプログラムは正常に動作しますが、結果として「基本パスフレーズ」文字列を得るために連結しようとするとトラブルが起きます。当初、私はちょうど持っていた:
['Basic', ' ', passphrase]
をそれは私がいくつか模索し、コマンドウィンドウに周りの実験でした動作しませんでした後:
passphrase = 'somerandompassphrase';
teststr1 = ['Basic', ' ', passphrase];
teststr2 = ['Basic', ' ', 'somerandompassphrase'];
teststr3 = 'Basic somerandompassphrase';
strcmp(teststr1, teststr2)
strcmp(teststr1, teststr3)
strcmp(teststr2, teststr3)
出力は予想通り1、または各1に対して真(あります)。私は( 'c29tZXJhbmRvbXBhc3NwaHJhc2U =' ある ')somerandompassphrase' のbase64encodeを取るしかし場合:
encoded = base64encode(passphrase);
teststr1 = ['Basic', ' ', encoded];
teststr2 = ['Basic', ' ', 'c29tZXJhbmRvbXBhc3NwaHJhc2U='];
strcmp(teststr1, teststr2)
出力が0、またはfalseです。しかしそれは本当ではありませんか? base64encode関数はhereです。簡単なテストでさえから
:
strcmp(encoded, 'c29tZXJhbmRvbXBhc3NwaHJhc2U=')
出力はまだ助けてください0
ですが、私は何が起こっているか見当がつかない。