【发布时间】:2023-03-15 04:53:01
【问题描述】:
我正在尝试使用包含文本作为输入的文件来使用 Yahoo Content Analysis。所以每个字符和长度都是可能的。 此代码适用于简单的文本字符串(无特殊字符,短文本),但是当我使用较长的文本或特殊字符时,我会收到错误请求错误(HTTP 400),有时会出现错误消息,例如“在字符 '[' 处没有可行的替代方案” " 或没有错误信息。 我对每个请求进行编码,HTTP Post 不应该对长度有任何限制。 雅虎服务是否限制了请求的长度和/或是否有任何字符无法处理? 感谢您对这项工作的任何帮助!
这是我的代码(使用 commons-httpclient):
String fileInput = FileUtils.readFileToString(f);
StringBuilder builder = new StringBuilder();
builder.append("http://query.yahooapis.com/v1/public/yql?");
System.out.println(fileInput);
builder.append("q=")
.append(URLEncoder.encode("select * from contentanalysis.analyze where text='"+ fileInput +"'" , "UTF-8"))
.append("&format=json");
final String postUrl = builder.toString();
HttpClient client = new HttpClient();
PostMethod method = new PostMethod(postUrl);
// Send POST request
int statusCode = client.executeMethod(method);
【问题讨论】: