php - 当我尝试测试对基于 PHP 的服务器的请求时,我应该使用 Java 或 Python 中的哪种数据结构,该服务器需要带有字符串索引的数组?

标签 php arrays testing automation

我正在尝试自动向基于 PHP 的服务器发出后端请求。服务器期望我的数据以带有字符串索引的数组语法编写,并使用 Content-Type application/x-www-form-urlencoded 编码
这是一个预期的请求示例:settings[hello]=word&settings[hello2]=world2
然而,我从来没有在 Python 或 Java 中看到过这样的东西。据我所知,在这些语言中无法对索引进行字符串化。那可以用什么代替呢?也许是字典、元组、字典列表?
谢谢

最佳答案

您可以用任何语言以这种方式命名 URL 参数。原因是这是 HTTP 协议(protocol)的一部分,而不是编程语言。

除了字符串之外,您根本没有处理任何数据结构。您正在传递一个字符串,网络服务器将通过在 & 上拆分将其拆分为一个数组,然后对于该数组中的每个值,它将通过在 = 上拆分将其拆分为另一个数组或映射。然后,在每种语言中,您都会有一个方法可以通过名称检索这些值。

因此,在 Java 中:

 String hello = request.getParameter("settings[hello]");

在 PHP 中(这是一种方式,也许 PHP 还有其他方式):

 $hello = $_GET['settings[hello]'];

关于php - 当我尝试测试对基于 PHP 的服务器的请求时,我应该使用 Java 或 Python 中的哪种数据结构,该服务器需要带有字符串索引的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25088973/

相关文章:

php - 无法在 MySql 中获得第三个表的不同和最大值连接

PHP/MySQL 更好的用户搜索

javascript - 比较 2 个数组并替换匹配的键中的值?

unit-testing - 什么时候不/在实现前编写测试?

php 阻止 ips?值得吗

php - 如何使股票行情从页面的零像素从右向左滚动?

c++ - 在 AVR 的程序内存中构建编译时任意长度数组

ios - 以编程方式禁用 iOS 模拟器 'connect hardware keyboard'

django - 你如何模拟 Django 中的 RelatedManager 方法?

php - "Bookmark"按钮?