java - post 方法中的 org.apache.commons.httpclient.NameValuePair

标签 java apache-commons-httpclient

我正在编写一些代码,例如:

PostMethod p = new PostMethod(someurl);
...
NameValuePair[] data = {
    new NameValuePair("name1", "somevalue1"),
    new NameValuePair("var[3][1]", "10")
};
try {
    hc.executeMethod(p);
}
...

这就是我在 Wireshark 中查看帖子时得到的结果:

POST /someurl HTTP/1.1
...
type=var&ship%5B3%5D%5B1%5D=10

%5B 表示 [%5D- ]

所以问题是我如何在我的帖子中得到方括号?

最佳答案

这正是 POST 正文应有的样子。这些方括号必须经过 url 编码。当客户端解析 POST 正文中的查询字符串时,它应该对这些键和值进行 url 解码。在 Web 浏览器上使用简单的 HTML POST 表单进行尝试,并使用wireshark进行检查。你会看到完全相同的事情。这里没有问题。

关于java - post 方法中的 org.apache.commons.httpclient.NameValuePair,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4528443/

相关文章:

java - 绕过 DNS 查找并将 URL 提交给代理

java - java中的链表队列不适用于线程

java - 无法运行 java 程序! NoClassDefFoundError?

java - ResultSet 关闭后不允许进行操作第 2 部分

java - pl/sql 过程为 varchar2 列返回 3 个问号 ('???' ) (wls 10.3.4 - weblogic 11g)

java - 需要让开源httpclient中的httpstatus抛出异常

java - 在使用 commons-httpclient 的项目中使用新的 httpclient-4.0.1 jar

java - 我们是否应该始终对移动后端使用异步 JAX-RS 资源?

java - 为什么 IntelliJ IDEA 看不到 HttpClients?

java - 如何在Java中缓存httpclient对象?