Tag: curl

Postgres触发更新Java缓存

我有一个Java Web应用程序(部署到Tomcat的WAR),它在内存中保留缓存( Map )。 我有一个Postgres数据库,其中包含一个widgets表: widget_id | widget_name | widget_value (INT) (VARCHAR 50) (INT) 对于Widget POJO和widgets表记录之间的O / R映射,我正在使用MyBatis。 我想实现一个解决方案,只要widgets表中的值发生更改,Java缓存(Map)就会实时更新。 我可以有一个轮询组件,每隔30秒检查一次表,但轮询只是不适合这里的解决方案。 所以这就是我的建议: 编写一个调用存储过程的Postgres触发器( run_cache_updater() ) 该过程run_cache_updater.sh运行shell脚本( run_cache_updater.sh ) 脚本base-64对已更改的widgets记录进行编码,然后将编码记录cURL到HTTP URL Java WAR有一个servlet侦听cURLed URL并处理发送给它的任何HttpServletRequests 。 它base-64解码记录并以某种方式将其转换为Widget POJO。 缓存( Map )使用正确的键/值进行更新。 这个解决方案感觉很尴尬,所以我首先想知道那里的Java / Postgres大师会如何处理这种情况。 在这里轮询更好/更简单的选择(我只是顽固吗?)我还有其他/更好/更标准的解决方案吗? 如果没有,并且此解决方案是将已更改的记录从Postgres推送到应用程序层的标准方法,那么我就会扼杀如何编写触发器,存储过程和shell脚本,以便将整个widgets记录传递到cURL声明。 在此提前感谢您的帮助。

Https使用curl发布请求:Android

我正在尝试使用curl执行https发布请求。 当我执行此请求时,我既没有得到任何响应也没有任何错误或exception。 关于这里出了什么问题的帮助或任何线索表示赞赏。 谢谢。 curl命令行格式: curl -X POST \ -F ‘image=@filename.png;type=image/png’ \ -F ‘svgz=@filename.svgz;type=image/svg+xml’ \ -F ‘json={ “text” : “Hello world!”, “templateid” : “0010”, “timestamp” : “1342683312”, “location” : [ 37.7793, -122.4192 ], “facebook” : { “id”: “738124695”, “access_token”: “<VALID_USER_FACEBOOK_TOKEN_WITH_PUBLISH_ACTIONS_PERMISSIONS", "expiration_date": "1342683312" } };type=application/json' \ https://sample.com/api/posts Facebook发布代码: public static void uploadToFB() { HttpClient client = […]

有没有办法发现ReST API的所有端点?

我想知道是否有可能以编程方式发现特定API的所有端点。 例如,如果我使用浏览器或curl获取此URL: https : //api.twitter.com/1.1/ 我可能会得到类似这样的JSON响应: {“TwitterAPI”:{ “version” : 1.1, “GET” : { “search/” : [“users”, “trending”], “users/” : [“id”, “handle”] } } 当然,Twitter可以选择发布或不发布此格式。 所以作为一个附带问题,是否有任何Java或Javascript库可以自动映射和发布您在控制器中创建的API路由?

java中的curl命令

首先,我已经看过几个文件,有关相同的stackoverflow问题..我的项目特定问题当试图运行命令时: curl -u username:password https://example.com/xyz/abc 从mac终端,我得到了我想要的json格式数据。 但是从java代码运行相同的命令,我在控制台中收到Unauthorized 401错误。 我的代码是: String username=”myusername”; String password=”mypassword”; String url=”https://www.example.com/xyz/abc”; String[] command = {“curl”, “-u” ,”Accept:application/json”, username, “:” , password , url}; ProcessBuilder process = new ProcessBuilder(command); Process p; try { p = process.start(); BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); StringBuilder builder = new StringBuilder(); String line = null; while […]

从Java执行CURL – 什么是正确的方法?

我通过以下代码执行curl: // execute process Process pr = null; Runtime run = Runtime.getRuntime(); try { pr = run.exec(cmdline.split(” “)); A ret = ff(pr); pr.waitFor(); return ret; } catch (Exception ex) { throw new RuntimeException(“Executing ” + cmdline, ex); } finally { try { // close all those bloody streams pr.getErrorStream().close(); pr.getInputStream().close(); pr.getOutputStream().close(); } catch (IOException ex) […]

如何从jersey servlet中的curl请求中提取参数?

我正在向表格中的我的jerseyservlet发送一个curl post restful请求 curl -i -X POST -d “debit_user_id=/custome/mobile_number:917827448775″http://localhost:8080/switch/apikongcall.do/transactions 我需要在我的servlet中获取debit_user_id,我的Post方法的代码是 @POST //@Path(“/transactions”) //@Consumes(MediaType.APPLICATION_JSON) public Response createTrackInJSON(@QueryParam(“debit_user_id”) String debit_user_id) { //Log logger = null; this.logger = LogFactory.getLog(getClass()); this.logger.info(“Inside post method”+debit_user_id); String response = debit_user_id; //String response = “testParam is: ” + recipient_id + “\n”; //String result = “Track saved : ” + track; return Response.status(200).entity(response).build(); 但是我的debit_user_id是空的。 […]

将curl调用转换为java urlconnection调用

我有curl命令: curl -i -u guest:guest -H “content-type:application/json” -XPUT \ http://localhost:15672/api/traces/%2f/my-trace \ -d'{“format”:”text”,”pattern”:”#”}’ 我想在Java API中创建HTTP请求,它将执行相同的操作。 这个curl命令可以在本自述文件中找到。 它用于开始在RabbitMQ上记录日志。 回应并不重要。 现在我创建了这样的东西(我删除了不太重要的行,即捕获exception等),但不幸的是它不起作用: url = new URL(“http://localhost:15672/api/traces/%2f/my-trace”); uc = url.openConnection(); uc.setRequestProperty(“Content-Type”, “application/json”); uc.setRequestProperty(“format”,”json”); uc.setRequestProperty(“pattern”,”#”) String userpass = “guest:guest”; String basicAuth = “Basic ” + javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes()); uc.setRequestProperty (“Authorization”, basicAuth); 完整的代码

如何使用CURL登录spring security登录表单?

我正在开发一个springMVC项目,其中用户身份validation基于spring安全性。 我们的想法是让移动(android)应用程序能够向后端发送某种数据。 所以在让我的手弄脏到android开发之前我决定使用CURL来模拟登录表单的情况。 我们网站的登录表格如下: http://localhost:8080/app/user/login 我使用以下命令: curl -F ‘username=admin&password=admin’ http://localhost:8080/app/user/login 但是我会得到登录页面,换句话说我无法根据模拟情况传递用户身份validation。 请注意:对于每个请求,spring secure将创建一个类似于以下内容的随机化令牌: 8863F732ADDE24CD167F4EF502A4333D 我应该如何使用模拟情境( CURL或HTTPClient )基于spring security传递登录表单

Java中的cURL等价物

我有 exec( “curl”. ” –cert $this->_cCertifikatZPKomunikace”. ” –cacert $this->_cCertifikatPortalCA”. ” –data \”request=”.urlencode($fc_xml).”\””. ” –output $lc_filename_stdout”. ” $this->_cPortalURL”. ” 2>$lc_filename_stderr”, $la_dummy,$ln_RetCode ); 在PHP中。 我必须通过java来做到这一点。 你能帮助我吗? 谢谢Jakub

无法向基于Spring MVC的REST服务发送多部分/混合请求

我有一个基于Spring MVC和Resteasy的REST服务,我需要通过发送multipart / mixed请求进行测试。 该服务编码如下: @POST @Path(“/mixedMimeText”) @Consumes(“multipart/mixed”) @ResponseStatus(HttpStatus.OK) public String createMime(@Context ServletContext servletContext, MultipartInput input) throws Exception, IOException { logger.info(“Processing /mixedMimeText”); for(InputPart p : input.getParts()){ logger.info(“Headers : ” + p.getHeaders()); logger.info(“MediaType : ” + p.getMediaType()); logger.info(“Body : ” + p.getBodyAsString()); logger.info(“————————————————— “); } return “TEST”; } 我使用以下文件作为multipart mime内容发送 –ABC123Boundary Content-Type: text/xml XXXX-XXXX-XXXX-XXXX 12345 XXXXXXXXX […]