【发布时间】:2011-02-12 18:42:40
【问题描述】:
整天都在做这件事,却一无所获。
我的 Java 代码如下所示:
final URL url = new URL(String.format("https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=%s&exportFormat=tsv&gid=0", spreadsheetId));
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("Authorization", "GoogleLogin auth=" + wiseAuth.getAuthToken());
conn.setRequestProperty("GData-Version", "3.0");
conn.setRequestMethod("GET");
conn.setDoOutput(true); // trouble here, see below
conn.setInstanceFollowRedirects(true);
conn.connect();
我在尝试执行 conn.getInputStream() 时总是收到 FileNotFound 错误。我将其缩小为响应代码是 405 Method Not Allowed。例外是返回我的 URL,我可以在浏览器中正常访问该页面。
就在那时我发现setDoOutput(true) 在内部执行了一个 POST。但如果我删除该行,conn.getInputStream() 为空,conn.getOutputStream() 似乎什么也没有返回——尽管我可能设置错了?
【问题讨论】:
标签: java httpurlconnection google-sheets