社区
Java
帖子详情
怎样写一个类方法,让别人通过url调用并post一个json数据过来????
u012099174
2017-11-22 10:37:56
json数据如下:
...全文
334
4
打赏
收藏
怎样写一个类方法,让别人通过url调用并post一个json数据过来????
json数据如下:
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
u012099174
2017-11-23
打赏
举报
回复
我是想了解怎样实现这个可被别人调用的URL,
qq_20932723
2017-11-22
打赏
举报
回复
刚好项目写了一个,献给楼主(多给点分哈): import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import org.springframework.util.StringUtils; public class HttpUtils { /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param param * 请求Map参数,请求参数应该是 {"name1":"value1","name2":"value2"}的形式。 * @param charset * 发送和接收的格式 * @return URL 所代表远程资源的响应结果 */ @SuppressWarnings("rawtypes") public static String sendGet(String url, Map<String,Object> map,String charset){ StringBuffer sb=new StringBuffer(); //构建请求参数 if(map!=null&&map.size()>0){ Iterator it=map.entrySet().iterator(); //定义迭代器 while(it.hasNext()){ Map.Entry er= (Entry) it.next(); sb.append(er.getKey()); sb.append("="); sb.append(er.getValue()); sb.append("&"); } } return sendGet(url,sb.toString(), charset); } /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param param * 请求Map参数,请求参数应该是 {"name1":"value1","name2":"value2"}的形式。 * @param charset * 发送和接收的格式 * @return URL 所代表远程资源的响应结果 */ @SuppressWarnings("rawtypes") public static String sendGetSnms(String url, Map<String,Object> map,String charset){ StringBuffer sb=new StringBuffer(); //构建请求参数 if(map!=null&&map.size()>0){ Iterator it=map.entrySet().iterator(); //定义迭代器 while(it.hasNext()){ Map.Entry er= (Entry) it.next(); sb.append(er.getKey()); sb.append("="); sb.append(er.getValue()); sb.append("&"); } } return sendGet(url,"data="+sb.toString(), charset); } /** * 向指定URL发送POST方法的请求 * * @param url * 发送请求的URL * @param param * 请求Map参数,请求参数应该是 {"name1":"value1","name2":"value2"}的形式。 * @param charset * 发送和接收的格式 * @return URL 所代表远程资源的响应结果 */ public static String sendPost(String url, Map<String,Object> map,String charset){ StringBuffer sb=new StringBuffer(); //构建请求参数 if(map!=null&&map.size()>0){ for (Entry<String, Object> e : map.entrySet()) { sb.append(e.getKey()); sb.append("="); sb.append(e.getValue()); sb.append("&"); } } return sendPost(url,sb.toString(),charset); } /** * 向指定URL发送POST方法的请求 * * @param url * 发送请求的URL * @param param * 请求Map参数,请求参数应该是 {"name1":"value1","name2":"value2"}的形式。 * @param charset * 发送和接收的格式 * @return URL 所代表远程资源的响应结果 */ public static String sendPostSnms(String url, Map<String,Object> map,String charset){ return sendPost(url,"data="+AjaxUtils.toCustom(map),charset); } /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param param * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @param charset * 发送和接收的格式 * @return URL 所代表远程资源的响应结果 */ public static String sendGet(String url, String param,String charset) { String result = ""; String line; StringBuffer sb=new StringBuffer(); BufferedReader in = null; try { String urlNameString = url ; if(!StringUtils.isEmpty(param)) urlNameString+= "?" + param; URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 设置请求格式 conn.setRequestProperty("contentType", charset); conn.setRequestProperty("content-type", "application/x-www-form-urlencoded"); //设置超时时间 conn.setConnectTimeout(30*1000); conn.setReadTimeout(30*1000); // 建立实际的连接 conn.connect(); // 定义 BufferedReader输入流来读取URL的响应,设置接收格式 in = new BufferedReader(new InputStreamReader( conn.getInputStream(),charset)); while ((line = in.readLine()) != null) { sb.append(line); } result=sb.toString(); } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } /** * 向指定 URL 发送POST方法的请求 * * @param url * 发送请求的 URL * @param param * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @param charset * 发送和接收的格式 * @return 所代表远程资源的响应结果 */ public static String sendPost(String url, String param,String charset) { PrintWriter out = null; BufferedReader in = null; String result = ""; String line; StringBuffer sb=new StringBuffer(); try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 设置请求格式 conn.setRequestProperty("contentType", charset); conn.setRequestProperty("content-type", "application/x-www-form-urlencoded"); //设置超时时间 conn.setConnectTimeout(30*1000); conn.setReadTimeout(30*1000); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(),"UTF-8")); // 发送请求参数 out.print(param); // flush输出流的缓冲 out.flush(); // 定义BufferedReader输入流来读取URL的响应 设置接收格式 in = new BufferedReader( new InputStreamReader(conn.getInputStream(),charset)); while ((line = in.readLine()) != null) { sb.append(line); } result=sb.toString(); } catch (Exception e) { System.out.println("发送 POST请求出现异常!"+e); e.printStackTrace(); } //使用finally块来关闭输出流、输入流 finally{ try{ if(out!=null){ out.close(); } if(in!=null){ in.close(); } } catch(IOException ex){ ex.printStackTrace(); } } return result; } }
师傅是个奇怪的蛋
2017-11-22
打赏
举报
回复
就是一个简单的servlet吧,也可以用框架写
李德胜1995
2017-11-22
打赏
举报
回复
springmvc写一个方法,另一边HttpClient post json请求不就得了
VC通过HttpGet和Http
Post
方式与WebService通信,解析返回的
Json
在这个特定的场景中,我们关注的是如何利用VC通过HttpGet和Http
Post
方法
与WebService进行交互,并处理返回的
Json
数据
。 HttpGet和Http
Post
是HTTP协议中的两种主要请求
方法
。HttpGet是一种无状态、幂等的请求
方法
,...
json
跨域demo
从
一个
项目通过ajax请求到另
一个
项目的
数据
$.
post
("../../XX.action",{},function(data){ }); *ajax跨域问题的解决方案 *
调用
本系统的action
类
,通过WebService
调用
方式实现 *$.get
JSON
(
url
?callback=?,...
PHP使用Http
Post
请求发送
Json
对象
数据
代码解析
因项目的需要,PHP
调用
第三方 Java/.Net
写
好的 Restful Api,其中有些接口,需要 在发送
POST
请求时,传入对象。 Http中传输对象,最好的表现形式莫过于
JSON
字符串了,但是作为参数的接收方,又是需要被告知传
过来
...
php
post
返回
数据
json
数据
,PHP
调用
接口用
post
方法
传送
json
数据
的实例
搜索热词首先要把
数据
转换成
json
格式,再通过c
url
方法
调用
接口并传参数代码如下:$keyword,'areaCode'=>'*'));$
post
_data['appToken'] = "323ds7674354fds32fdsda60173";//随便
写
的$
post
_data['parameters'] = $...
java通过
url
调用
远程接口返回
json
数据
java通过
url
调用
远程接口返回
json
数据
,有用户名和密码验证, 转自 https://blog.csdn.net/wanglong1990421/article/details/78815856 Java请求远程
URL
转自 ...
Java
51,402
社区成员
85,919
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章