[英]Sending a POST request with multiple keywords as parameters using HTMLUnit
I am sending a POST request using HTMLUnit that sends keywords as parameters. 我正在使用HTMLUnit发送POST请求,该请求将关键字作为参数发送。 An example of the URL is:
URL的示例是:
website.com/foo/bar/api?keywords=word1,word2,word3&language=en
The problem is my application is dynamically picking these words and the amount of words can go up to 10 or 20 or even more. 问题是我的应用程序正在动态地选择这些单词,单词的数量最多可以达到10或20个甚至更多。 How do you append a Set of words as values to a HTTP request.
如何将一组单词作为值附加到HTTP请求。 My code at the moment is:
目前,我的代码是:
requestSettings = new WebRequest(new URL("website.com/foo/bar/api?"),
HttpMethod.POST);
Iterator<String> itr = list.iterator();
while(itr.hasNext()) {
requestSettings.getRequestParameters()
.add(new NameValuePair("keywords[]", itr.next()));
}
requestSettings.getRequestParameters().add(new NameValuePair("language", "en"));
System.out.println(requestSettings.getUrl().toString());
response = webClient.getPage(requestSettings).getWebResponse();
This code does not return a valid respone. 此代码不会返回有效的响应。 What am I doing wrong here?
我在这里做错了什么?
Give this a try: 试试看:
using (var client = new WebClient())
{
var dataObject = new {
KeyWords = "one, two, three"
};
var serializer = new JavaScriptSerializer();
var json = serializer.Serialize(dataObject);
var response = client.UploadString("yourUrl", json);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.