【问题标题】:Programmatically access web-page以编程方式访问网页
【发布时间】:2018-12-28 10:21:30
【问题描述】:

有一个网站会在输入卷号并单击提交按钮后显示结果。我需要以编程方式访问一些可用卷号的结果。

泡沫的HTML代码是:

<form action="http://www.rtuportal.com/result/65-b-tech-ivth-sem-main-exam-result-2013/" method="post">
    <input type="" name="roll_number" value="" placeholder="enter your roll number">
    <input type="submit" value="Submit">
</form><div style="margin-top: 30px;"><div class="fb-comments" data-href="http://www.rtuportal.com/result/65-b-tech-ivth-sem-main-exam-result-2013/" data-width="730" data-num-posts="10"></div></div>
  1. 卷号是否要发送到form标签的action属性中提到的URL?
  2. 需要发送哪些数据,应该如何格式化?

我将使用 jsoup 在 Java 中执行此操作。

更新:我能够获取存在结果数据的 URL,但是当我使用 jsoup 连接到它时,我得到“发生错误”但是当我通过浏览器访问相同的 url 时,会显示结果正确。我需要一些东西来使这个 jsoup 请求看起来像浏览器请求吗?我已经在使用 Mozilla 作为 UA。

【问题讨论】:

    标签: java html parsing


    【解决方案1】:
    1. 是的
    2. 表单正在使用 post 方法。看看这段代码。它以 Mozilla Firefox 的形式打开结果页面。名称在&lt;input type="" name="roll_number" 中定义的变量通过data() 方法传递到页面。

    代码格式不正确

    Document doc = Jsoup.connect("url")
    .data("roll_number", "yourValue")
    .userAgent("Mozilla")
    .post();
    

    【讨论】:

    • 这不起作用。接收者 HTML 代码不包含任何结果数据。如果我将代码保存为 HTML 文件并断开 Internet,浏览器只会在结果的末尾显示错误消息“未找到服务器”。页面打开接收到的 HTML 页面后仍然从服务器获取结果数据。
    • 更新:从结果页面的代码中,数据包含在 iframe 中,该 iframe 从 URL 获取结果并发送密钥和卷号。
    猜你喜欢
    • 2011-02-23
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-28
    • 2014-01-25
    • 1970-01-01
    相关资源
    最近更新 更多