【发布时间】:2017-04-30 00:06:28
【问题描述】:
我目前正在阅读和写入网站,仅使用 Java。我已经弄清楚如何从网站上阅读,以获取实际网站上的所有内容。但我不完全确定从哪里开始写作,尽管这似乎是我想做的一个简单的动作。我只想将特定字符串写入网站上的文本区域。
为了显示我阅读网站的代码,我附在下面。
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import org.apache.commons.io.IOUtils;
public class Read {
public static void main(String[] args) throws IOException {
URL url = new URL("http://website.com/");
URLConnection con = url.openConnection();
InputStream in = con.getInputStream();
String encoding = con.getContentEncoding();
encoding = encoding == null ? "UTF-8" : encoding;
String body = IOUtils.toString(in, encoding);
System.out.println(body);
PrintWriter pToDocu = new PrintWriter("readText.txt");
pToDocu.println(body);
pToDocu.close();
}
}
现在我想要实现的是如何将字符串变量的内容写入我创建的网站上的文本区域。可能还需要注意的是,要提交文本区域中的信息,必须单击站点上名为 submit 的按钮。
【问题讨论】:
-
你是什么意思“写到一个网站”?您想向该网站发送请求(Get、Post、Put 等)?并非试图令人沮丧,但您的问题意味着您对与网站/网络服务器的通信实际上如何工作有一个错误的认识。
-
“点击按钮”,“输入文本字段”。这些是浏览器所做的事情。您在代码中得到的是从网站返回的原始 HTML 内容。因此,要么像@Abhishek 所说的那样使用 Selenium 之类的东西来控制浏览器,要么阅读 HTTP 以及浏览器在幕后实际执行的操作。然后您可以将 HTTP 消息(包含字段的名称/值对)发送回网站 - 就像浏览器一样。
标签: java string url submit urlconnection