Java - 与网站交互以更新信息

标签 java http url interaction

所以我遇到了这种情况,我可能有两条不同的路线要走。问题是我必须更新我生成的一些信息,这些信息已经格式化和解析并准备好显示。现在我不知道如何将这个txt文件(或巨大的字符串)输入到网站中。一种方法是找到一种 Java 与页面交互的方法,将信息粘贴到文本区域并保存/提交更新。另一种方法是编辑页面文件本身,将巨大的字符串插入到它应该去的地方。我一直在研究 HTTP 表单,但大多数都与第三方库一起使用。但我不知道如何走这两条路。我一直在检查这些网站和其他网站,但我认为有些太复杂或需要像 Selenium 这样的外部库,而且我真的没有使用 URLConnection 类的经验。感谢您的帮助!

--我无法控制服务器,我可以简单地访问它,所以我认为第一个想法会更实用......

http://kspace.in/blog/2008/05/30/submit-html-form-using-java/

http://www.devcomments.com/q450155/How-to-have-Java-application-interact-with-website

最佳答案

使用 HTTP Post:

http://www.exampledepot.com/egs/java.net/post.html

try {
    // Construct data
    String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8");
    data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");

    // Send data
    URL url = new URL("http://hostname:80/cgi");
    URLConnection conn = url.openConnection();
    conn.setDoOutput(true);
    OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
    wr.write(data);
    wr.flush();

    // Get the response
    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    String line;
    while ((line = rd.readLine()) != null) {
        // Process line...
    }
    wr.close();
    rd.close();
} catch (Exception e) {
}

关于Java - 与网站交互以更新信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5046516/

相关文章:

java - Neo4j:Cypher 中的全文索引和自动索引

java - 如何清除 Log4j 2.3 每日滚动文件附加器的日志

java - 使用 ASM 获取方法参数

rest - POST 和 PUT 请求

http - 由未知权威机构签署的 x509 证书 - go-pingdom

actionscript-3 - 将 AS2 SWF 加载到 AS3 SWF 中并在 URL 中传递变量

jquery - 使用 jquery 停止默认主题标签行为

java - 从 Java 执行源命令

silverlight - 如何异步发起多个HTTP请求?

url - 多语言网站的 SEO 和用户友好的 URL