Fix #725: Encode keys for post data with numeric keys

This commit is contained in:
Zach Borboa
2022-07-28 23:47:29 -04:00
parent 642e232dc2
commit 85e94ba1b1
2 changed files with 10 additions and 1 deletions
+1 -1
View File
@@ -207,7 +207,7 @@ class Curl
// php_raw_url_encode()
// php_url_encode()
// https://github.com/php/php-src/blob/master/ext/standard/http.c
return urlencode($k) . '=' . urlencode(strval($v));
return urlencode(strval($k)) . '=' . urlencode(strval($v));
}, array_keys($data), array_values($data)));
}
+9
View File
@@ -72,6 +72,15 @@ class CurlTest extends \PHPUnit\Framework\TestCase
}
}
public function testBuildPostDataIntegerKey()
{
$curl = new Curl();
$this->assertEquals('abc=foo&123=bar', $curl->buildPostData([
'abc' => 'foo',
'123' => 'bar',
]));
}
public function testUserAgent()
{
$php_version = preg_replace('/([\.\+\?\*\(\)\[\]\^\$\/])/', '\\\\\1', 'PHP/' . PHP_VERSION);