これは、基本的なHTTPエンコーディングとフォーマットの質問です。RESTFixtureからPHPWebサービスにログインする必要があります。ログインページと同じように、POST変数として、アカウント、ユーザー名、およびパスワードを渡す必要があります。
Wiresharkは、ログインページが次のようにフォーマットしていることを示しています
accountNumber=accounttest&username=usertest&password=passtest
テストでそれを行うと、次のPOST配列が取得されます。
$_POST: Array
(
[accountNumber] => accounttest
[amp;username] => usertest
[amp;password] => passtest
)
それはうまくいくでしょうが、「アンプ」。明らかに、PHPがユーザー名を見つけられないようにします。
コンテンツタイプは、ライブとテストの両方で同じです。[CONTENT_TYPE] => application / x-www-form-urlencoded
これが私が結果で試した他のいくつかのフォーマットです。3つのケースすべてで、解析に失敗するため、すべてのフィールドが1つの配列エントリになります。
入力:accountNumber = accounttest%amp; username = usertest%amp; password = passtest
結果:$ _ POST:配列([accountNumber] => accounttest%amp; username = usertest%amp; password = passtest)
入力:accountNumber = accounttest; username = usertest; password = passtest
Result: $_POST: Array
(
[accountNumber] => accounttest;username=usertest;password=passtest
)
入力:accountNumber = accounttest%26username = usertest%26password = passtest
結果:$ _ POST:配列([accountNumber] => accounttest&username = usertest&password = passtest)
したがって、最後のものは%26を&に正しく変換しますが、項目を配列要素に分割しません。