【发布时间】:2011-08-28 16:40:51
【问题描述】:
我的 servlet 中有以下代码:
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
public void doIt(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
URL url = new URL("http://some.url.that.works.well.nl/q=hello&ie=nl&cx=hdyehgfyegywjehdkwed:7364du7");
URLConnection conn = url.openConnection();
conn.connect();
BufferedReader br = new BufferedReader(
new InputStreamReader(conn.getInputStream())); // This line is generating the error
String line = "";
PrintWriter pw = response.getWriter();
while((line = br.readLine()) != null) {
pw.println(line);
}
}
在 tomcat 中运行这个 servlet 给我一个 http 406 错误。
我尝试做的是从我的 servlet 调用谷歌站点搜索中,我想解析收到的 (XML) 结果。 (现在我只打印收到的结果)。 在浏览器中尝试 url 会得到正确的结果。
我在这里错过了什么?
亲切的问候, 维尔纳
【问题讨论】:
-
HTTP 406 代表不可接受。您可以尝试将 XML 的接受标头添加到您的连接中吗? conn.setRequestProperty("Accept","text/xml")
-
已经试过了。输出没有变化。仍然收到 406 错误。尝试了接受 wordt 的各种大写字母,因为我不知道这是否是问题所在。结果保持不变。
标签: java html servlets http-status-code-406