【发布时间】:2017-06-26 10:46:20
【问题描述】:
我一直在尝试使用 CURL 发布一些数据。 http_build_query 可能是我的问题。
我有一长串要发布的信息,例如与数组中的数据混合的数据。
看起来,当我执行 http_build_query 时,它会返回一个充满 stange 符号的 URL,如下所示:
contact[person]=testes83¶ms[make]=ford¶ms[model]=focus¶ms[version]=mk1-1998-2004
在我看来,这会在服务器尝试对其执行某些操作时导致错误。
我还有一个以“re”开头的词,在http_build_query之后,它被转换为®
'region_id' => 1,
变成
'®gion_id' => 1,
这也是我正在使用的 http_build_query
http_build_query($car_info,'', '&');
【问题讨论】:
-
http_build_query 可能是问题 [...],在我看来,它会导致错误您自己听起来不太相信,如果您问我,那就是正确的方法,因为我认为问题不在于
http_build_query,因为所有这些基本上都是抓取一个数组并对键和值进行urlencode,并在它们之间粘贴=,在每个条目之间粘贴&。该过程中的任何内容都不应该真正用不合法的字符替换合法的 URL 字符。 -
您在哪里/如何/何时看到?你是如何打印那个 URL 的?是否有任何东西试图使用某种编码来解释该 URL?例如,由于它似乎是序列
&re,浏览器是否可能将其解释为 HTML 实体...? -
顺便说一句,它对我来说表现正常sandbox.onlinephpfunctions.com/code/…
-
“我一直在尝试使用 CURL 发布一些数据” -- 发布 curl 代码。
http_build_query()工作正常,但这在很大程度上取决于您如何使用它构建的字符串。 -
"转换成
'®gion_id' => 1," -- 你确定不是®ion_id?