在下面的代码中,我正在执行HTTP客户端
以获得响应。
public String exmp(StringBuilder sql, String table){
authCache = new BasicAuthCache();
basicAuth = new BasicScheme();
authCache.put(target, basicAuth);
localContext = HttpClientContext.create();
localContext.setAuthCache(authCache);
String postJsonstr=null;
try {
HttpPost httpPost = new HttpPost(API_URL);
StringBuilder str = new StringBuilder();
str.append("{");
str.append("\"format\":\"csv\",");
str.append("\"version\":\"1.0\",");
str.append("\"name\":\""+table+"\",");
str.append("\"encrypted\":\"none\",");
str.append("\"queries\":[{");
str.append("\"name\":\""+table+"\",");
str.append("\"query\":\"" + sql + "\",");
str.append("\"type\":\"export\"");
str.append("}]");
str.append("}");
httpPost.addHeader("accept", jsonContentType);
StringEntity posEnt = new StringEntity(str.toString().trim());
posEnt.setContentType(jsonContentType);
httpPost.setEntity(posEnt);
CloseableHttpResponse response = httpclient.execute(target, httpPost, localContext);}
当我执行这段代码时,我得到的错误是:org.json.jsonException:JSONObject文本必须以“{”开头,位于1[字符2行1]
。
我尝试执行system.out.println((int)sb.tostring().trim().charat(0));
查看第一个字符是什么,根据一些文章,它是123
,这是“{”的正确代码。
更新的代码:这是我使用JSONObject
更新的代码。我仍然得到同样的错误
public String exmp(StringBuilder sql, String table){
authCache = new BasicAuthCache();
basicAuth = new BasicScheme();
authCache.put(target, basicAuth);
localContext = HttpClientContext.create();
localContext.setAuthCache(authCache);
String postJsonstr=null;
try {
HttpPost httpPost = new HttpPost(API_URL);
JSONObject sbjson = new JSONObject();
sbjson.put("format", "csv");
sbjson.put("version", "1.0");
sbjson.put("name", table);
sbjson.put("encrypted", "none");
JSONArray array = new JSONArray();
JSONObject item = new JSONObject();
item.put("name", table);
item.put("query", sql);
item.put("type", "export");
array.put(item);
sbjson.put("queries", array);
httpPost.addHeader("accept", jsonContentType);
StringEntity postEntity = new StringEntity(sbjson.toString());
posEnt.setContentType(jsonContentType);
httpPost.setEntity(posEnt);
CloseableHttpResponse response = httpclient.execute(target, httpPost, localContext);}
String.format("{\"format \":\"csv \""
+ ",\"version \":\"1.0 \""
+ ",\"name \":\"%s\""
+ ",\"encrypted \":\"none \""
+ ",\"queries \":[{\"name \":\"%s\"\""
+ ",\"query\":\"%s\""
+ ",\"type\":\"export\"}]}",
table, table, sql);
我正在尝试基于Apache示例和FTPSClient类,使用Apache Commons网络库开发Java FTPS客户端。要运行de代码,我使用Java8,更新45。 当我调用“retrieveFile”方法时,会发生异常。我不确定,但我相信用于传输文件的连接没有使用上面指定的HTTP代理。 使用FileZilla客户端,我可以使用相同的配置传输文件。 我如何解决这个问题? 我的代码: 输出:
,而项目本身可以完美地运行eclipse IDE。 我尝试了相同问题的解决方案,但错误仍然存在。这是一个maven项目,pom.xml具有所有依赖项。 有人能帮我解决这个问题,或者建议一种通过eclipse IDE执行java-callgraph的方法来达到同样的目的吗?
问题内容: 我正在使用jQuery的ajax方法来获取静态JSON文件。数据是从本地文件系统加载的,因此没有服务器,因此无法更改MIME类型。 我相信我的JSON格式正确: 我的ajax调用很简单: 如果我用文档标签包装JSON: 正如上面提到的另一个Stack Overflow问题中提到的那样,ajax调用失败,并出现解析错误。 因此:在读取客户端JSON文件时,有没有一种方法可以避免Firef
我试图自动化Web服务,并以字符串的形式传递XML,然后将其转换为字符串实体并设置实体。但我不知道为什么会抛出400错误。我是WebServices Automation的新手,请在这方面帮助我。 以下是我的代码:
使用java-version:1.8.0_171,我试图连接到API网关,但使用java8却得到一个SSL handshake_failure。已经运行的命令: 启用时,我得到了以下信息: 更新
在Intellij IDEA中,当我在终端中运行java文件或运行jar工件时,我会得到以下错误: 我的电脑上安装了最新的jdk和运行时环境,我只安装了一个运行时环境。另外,我对程序的实际编译没有问题,只有“$java program”命令。