什么是`filterDatas`

时间:2018-12-21 15:14:36

标签: java http

在一本名为“深入理解Java Web技术内幕”的书中,有一些代码。

它的意思是创建一个HTTP请求:

HttpClent httpClient = createHttpClient();
PostMethod postMethod;
String domainName = Switcher.domain;
postMethod = new PostMehtod(domainName);
postMethod.addRequestHeader("Content-Type", "application/x-www-form- urlencoded;charset=GBK");
for (FilterData filterData :filterDatas) {
    postMethod.addParameter("ip", filterData.ip);
    postMethod.addParameter("count", String.valueOf(filterData.count));
}
try {
    httpClient.executeMehtod(postMehtod);
    postmethod.getResponseBodyAsString();
} catch(Exception e){
    logger.error(e);
}

我知道HTTP包的结构。但是不知道第7行的FilterData意味着什么。

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

假设postMethod的类型为org.apache.commons.httpclient.methods.PostMethod-然后使用仅addParameter(String paramName, String paramValue)的两参数方法adds a new parameter to be used in the POST request body向其中添加一些参数。

我猜想FilterData是某种通用类,仅包含ipcount之类的值。如果ip(这是count或任何其他类型的集合,则向请求中多次添加具有相同名称(filterDatasFilterData[])的参数)包含多个条目。

这很好,根据Wikipedia:

  

[...]这是一种用于编码可能重复的键/值对的格式   键。

来源:https://en.wikipedia.org/wiki/POST_(HTTP)#Use_for_submitting_web_forms