0

这是一个基本的 HTTP 编码和格式问题。我需要从 RESTFixture 登录到 PHP Web 服务。我需要传递帐户、用户名和密码,就像登录页面一样作为 POST 变量。

Wireshark 显示我的登录页面将其格式化为 accountNumber=accounttest&username=usertest&password=passtest

当我在测试中这样做时,我得到一个 POST 数组 $_POST: Array ( [accountNumber] => accounttest [amp;username] => usertest [amp;password] => passtest )

那会起作用,但是“amp;” 显然它使PHP找不到用户名。

实时和测试的内容类型相同。[CONTENT_TYPE] => 应用程序/x-www-form-urlencoded

以下是我尝试过的其他几种格式。在所有三种情况下,它都无法解析,因此所有字段都以一个数组条目结尾。

输入:accountNumber=accounttest%amp;username=usertest%amp;password=passtest

结果: $_POST: Array ( [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: Array ( [accountNumber] => accounttest&username=usertest&password=passtest )

所以最后一个正确地将 %26 转换为 &,但不会将项目分解为数组元素。

4

0 回答 0