TIdHTTP->Get() ,服务器忽略参数
TIdHTTP->Get() , Server ignores parameters
我有这个查询:
https://api-v3.mojepanstwo.pl/dane/krs_podmioty.json?conditions[krs_podmioty.nip]=7282827109
在浏览器中,它工作正常,显示特定于给定 nip
号码的数据。
但是在 Indy 中,我得到的响应好像省略了查询部分:
https://api-v3.mojepanstwo.pl/dane/krs_podmioty.json
到目前为止我已经试过了:
BurL = "https://api-v3.mojepanstwo.pl/dane/krs_podmioty.json?conditions[krs_podmioty.nip]=7282827109";
BurL = TIdURI::URLEncode("https://api-v3.mojepanstwo.pl/dane/krs_podmioty.json?conditions[krs_podmioty.nip]=7282827109");
甚至结束原始 urlencoded 数据:
BurL= "https://api-v3.mojepanstwo.pl/dane/krs_podmioty.json?conditions%5Bkrs_podmioty.nip%5D=7282827109";
代码:
try {
Resp = IdHTTPKrs->Get(BurL);
} catch (EIdHTTPProtocolException& e) {
ShowMessage(e.Message);
}
出了什么问题,我该如何解决?或者,也许我已经太累了,错过了一些明显的东西?
我怀疑查询的 []
部分有问题,但我只是猜测。没有 []
的类似查询工作正常。
我正在使用 C++Builder XE6 pro,Indy 10.6.0.512
您的 Indy 版本已过时。在撰写本文时,最新版本是 10.6.2.5448。使用最新版本,我无法重现您的问题。两个 URL 编码 return 对我来说是相同的数据。正如他们应该的那样,因为在处理请求的 URL 时需要 Web 服务器解码 urlencoded 字符。 conditions%5Bkrs_podmioty.nip%5D=7282827109
和 conditions[krs_podmioty.nip]=7282827109
应该 由服务器以完全相同的方式处理,因为它们是语义相同的数据。
我有这个查询:
https://api-v3.mojepanstwo.pl/dane/krs_podmioty.json?conditions[krs_podmioty.nip]=7282827109
在浏览器中,它工作正常,显示特定于给定 nip
号码的数据。
但是在 Indy 中,我得到的响应好像省略了查询部分:
https://api-v3.mojepanstwo.pl/dane/krs_podmioty.json
到目前为止我已经试过了:
BurL = "https://api-v3.mojepanstwo.pl/dane/krs_podmioty.json?conditions[krs_podmioty.nip]=7282827109";
BurL = TIdURI::URLEncode("https://api-v3.mojepanstwo.pl/dane/krs_podmioty.json?conditions[krs_podmioty.nip]=7282827109");
甚至结束原始 urlencoded 数据:
BurL= "https://api-v3.mojepanstwo.pl/dane/krs_podmioty.json?conditions%5Bkrs_podmioty.nip%5D=7282827109";
代码:
try {
Resp = IdHTTPKrs->Get(BurL);
} catch (EIdHTTPProtocolException& e) {
ShowMessage(e.Message);
}
出了什么问题,我该如何解决?或者,也许我已经太累了,错过了一些明显的东西?
我怀疑查询的 []
部分有问题,但我只是猜测。没有 []
的类似查询工作正常。
我正在使用 C++Builder XE6 pro,Indy 10.6.0.512
您的 Indy 版本已过时。在撰写本文时,最新版本是 10.6.2.5448。使用最新版本,我无法重现您的问题。两个 URL 编码 return 对我来说是相同的数据。正如他们应该的那样,因为在处理请求的 URL 时需要 Web 服务器解码 urlencoded 字符。 conditions%5Bkrs_podmioty.nip%5D=7282827109
和 conditions[krs_podmioty.nip]=7282827109
应该 由服务器以完全相同的方式处理,因为它们是语义相同的数据。