我正在尝试编写一个 post 方法,它将键/值对发布到另一台服务器并捕获响应。出于安全原因,键/值对存在并且是一个简单的帖子。响应以 XML 形式返回 - 理想情况下,我希望它也映射到一个对象。
这是我到目前为止所做的:
首先,我检查了它是否可以使用简单的形式:
<form action="https://somesite.com/feed" method="post">
<input type="hidden" name="key" value="value" />
<input type="submit">
</form>
这成功返回了我期望的 XML。
然后我尝试在代码中这样做:
HttpClient client = new HttpClient();
BufferedReader br = null;
PostMethod method = new PostMethod("https://somesite.com/feed");
method.addParameter("key", "value");
try {
int returnCode = client.executeMethod(method);
br = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream()));
String readLine;
while (((readLine = br.readLine()) != null)) {
System.err.println(readLine);
}
StringWriter stringWriter = new StringWriter();
IOUtils.copy(method.getResponseBodyAsStream(), stringWriter);
System.out.println(stringWriter.toString());
} catch (Exception e) {
// TODO: handle exception
} finally {
method.releaseConnection();
if(br != null) try { br.close(); } catch (Exception fe) {}
}
在 client.executeMethod,我得到了一个 ConnectException: Connection timed out。
您可以提供的任何建议将不胜感激。
使用不同的域 http 和 https 是否有任何问题 - 即如果我从 http 页面或 https 页面调用此 post 方法?
谢谢。