Java 在服务器上运行的Clojure项目中集成Google自定义搜索
我正在为一个web应用程序(聊天机器人)进行clojure项目。我集成了一个谷歌自定义搜索工具,在聊天机器人没有答案的情况下,谷歌搜索结果会在聊天窗口中打印出来。在本地主机上,一切正常,但在线(在服务器上运行编译的jar文件时)如果询问聊天机器人没有答案的问题,则不会发生任何事情。有人知道这个问题吗 我的项目依赖项位于project.clj中:Java 在服务器上运行的Clojure项目中集成Google自定义搜索,java,json,clojure,server,google-search-api,Java,Json,Clojure,Server,Google Search Api,我正在为一个web应用程序(聊天机器人)进行clojure项目。我集成了一个谷歌自定义搜索工具,在聊天机器人没有答案的情况下,谷歌搜索结果会在聊天窗口中打印出来。在本地主机上,一切正常,但在线(在服务器上运行编译的jar文件时)如果询问聊天机器人没有答案的问题,则不会发生任何事情。有人知道这个问题吗 我的项目依赖项位于project.clj中: :dependencies [[org.clojure/clojure "1.6.0"] [compojure "1
:dependencies [[org.clojure/clojure "1.6.0"]
[compojure "1.1.7"]
[hiccup "1.0.2"]
[org.clojure/java.jdbc "0.2.3"]
[ring/ring-jetty-adapter "1.2.1"]
[com.h2database/h2 "1.3.170"]
[cheshire "5.5.0"] ;
[org.clojure/clojurescript "0.0-2371"]
[clj-http "2.0.0"]]
在集成Google定制搜索的文件中,我使用JSON定制搜索API中的其余部分,通过clj-http.client get函数接收结果
match.clj文件包含:
(:require ...
[clj-http.client :as client]
[clojure.data.json :as json]
[clojure.pprint :as pprint]
[cheshire.core :refer :all]
)
并调用函数:
(client/get (str google-search-url (apply str question)))
谷歌搜索url中包含以下表单:
https://www.googleapis.com/customsearch/v1?key=(put in API key)&cx=(put in Engine ID)
我不明白,如果在本地主机上运行jar文件,为什么会起作用,如果在服务器上运行,为什么会失败。首先,我生成了一个浏览器密钥,但随后我读到还有服务器API密钥,并用这个密钥重试。尽管如此,它仍然不起作用
我期待有人能帮助我
问题还没有解决。我在服务器上记录了错误,得到了以下信息: 2016年1月28日下午4:58:21 org.apache.http.impl.execchain.RetryExec execute 信息:处理对{s}->的请求时捕获I/O异常(java.net.SocketException):Das Netzwerk ist nicht erreichbar
有人知道原因是什么吗?服务器日志中没有stacktraces?我会添加一个NREPL服务器并从那里进行调试…我得到这个消息:2016年1月28日5:02:35 PM org.apache.http.impl.execchain.RetryExec执行信息:重试对{s}的请求->我不知道如何解决这个问题?!谢谢你的评论!问题还没有解决。我在服务器上记录了错误,得到了以下信息:2016年1月28日下午4:58:21 org.apache.http.impl.execchain.RetryExec执行信息:处理对{s}->的请求时捕获到I/O异常(java.net.SocketException):Das Netzwerk ist nicht erreichbar 2016年1月28日下午4:58:21 org.apache.http.impl.execchain.RetryExec执行信息:重试对{s}的请求->有人知道原因是什么吗???服务器日志中没有stacktraces?我会添加一个NREPL服务器并从那里进行调试…我得到这个消息:2016年1月28日下午5:02:35 org.apache.http.impl.execchain.RetryExec执行信息:重试对{s}的请求->我不知道如何解决这个问题?!谢谢你的评论!问题还没有解决。我在服务器上记录了错误,得到了以下信息:2016年1月28日下午4:58:21 org.apache.http.impl.execchain.RetryExec执行信息:处理对{s}->的请求时捕获到I/O异常(java.net.SocketException):Das Netzwerk ist nicht erreichbar 2016年1月28日下午4:58:21 org.apache.http.impl.execchain.RetryExec执行信息:重试对{s}的请求->有人知道原因是什么???