在做微信公众平台后台开发的时候,常常需要用代码实现模拟浏览器的GET和POST请求,
下面是用Java语言实现的GET和POST请求的一般写法:
1.GET请求模拟(不带参数)
//由于这类方法经常被用到,因此建议写在一个工具类里面,设置为静态方法,方便调用。
//requestUrl表示请求链接
public static String sendGet(String requestUrl) {
StringBuffer buffer = null;
try {
// 建立连接
URL url = new URL(requestUrl);
HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection();
httpUrlConn.setDoInput(true);
httpUrlConn.setRequestMethod("GET");
// 获取输入流
InputStream inputStream = httpUrlConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
// 读取返回结果
buffer = new StringBuffer();
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
// 释放资源
bufferedReader.close();
inputStreamReader.close();
inputStream.close();
httpUrlConn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return buffer.toString();
}
2.GET请求模拟(带参数)
//由于这类方法经常被用到,因此建议写在一个工具类里面,设置为静态方法,方便调用。
//url表示请求链接,param表示json格式的请求参数
public static String sendGet(String url, Object param) {
String result = "";
BufferedReader in = null;
PrintWriter out = null;
try {
URL realUrl = new URL(url);
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();
connection.setDoOutput(true);
// 建立实际的连接
connection.connect();
out = new PrintWriter(connection.getOutputStream());
// 发送请求参数
out.print(param);
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(
connection.getInputStream(), "UTF-8"));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("发送GET请求出现异常!" + e);
e.printStackTrace();
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
System.out.println(result);
return result;
}
3.POST请求模拟
//由于这类方法经常被用到,因此建议写在一个工具类里面,设置为静态方法,方便调用。
//url表示请求链接,param表示json格式的请求参数
public static String sendPost(String url, Object param) {
PrintWriter out = null;
BufferedReader in = null;
String result = "";
try {
URL realUrl = new URL(url);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性 注意Authorization生成
// conn.setRequestProperty("Content-Type",
// "application/x-www-form-urlencoded");
// 发送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(),"utf-8"));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
System.out.println(result);
} 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;
}
以上方法里面所用到的包,这里没有引入,只是作为一个实例程序,说明一下模拟浏览器的GET和POST请求的常见写法。
希望对朋友们有用!
- 浏览: 26895 次
- 性别:
- 来自: 无锡
相关推荐
调用微信公众平台接口 需要用到CURL(相当于ajax) 访问接口返回数据 页面不刷新 此文件封装了调用curl执行get|post请求 返回相应的数据
C#后台 Get、Post 网络请求 获取网页信息--可以做到一个文件多出使用(后台结果公告内容,通过获取结果公告内容抓取到...微信公众平台调用post提交数据 有些需要传递json格式的数据如果不是json格式的数据可能会报错误
我们的服务器只需要一个GET,和一个POST就可以和微信通信了,从这一点来看,设计的还是比较人性化的,赞一个。GET用于接通微信服务的校验,验证;POST用于接收微信服务器过来的消息,然后将Response组装好返回即可。
这几个文件是和微信相关的接口开发 简单的说就是get/post 基本上顾名思义 简单明了 比如foodlist当然是订餐这个 用户表为a_user h开头的是活动 如大转盘、刮刮卡 l开头是微楼书 V开头的是和会员卡相关 W开头的是微信...
C#WEB用户令牌TOKEN验证,防止HTTP、GET、POST等提交包含服务端和客户端源码。Nginx集群,SSL证书的WebApi令牌验证
3、集成了微信接口,具有获取好友列表及接收和发送微信功能,让你非常方便的集成到企业的OA办公系统、订单状态监控、服务器运行状态监控等。 使用说明: 1、请用手机微信扫描右边二维码登录系统(如不显示二维码...
1、微信JS文件,发送请求调用: //将返回接口数据,写入Page({data})里面 //获取热点新闻,这个也是写在onload:function(){//code)里面的 wx.request({ url: '...
│ Java面试题16.http get post请求的区别.mp4 │ Java面试题17.说说你对Servlet的理解.mp4 │ Java面试题18.Servlet的生命周期.mp4 │ Java面试题19.forward和redirect的区别.mp4 │ Java面试题20.jsp和Servlet的...
微信小程序调用PHP后台接口,解析纯html文本,效果图片预览 1、微信js动态传参: wx.request({ url: 'https://m.****.com/index.php/Home/Xiaoxxf/activity_detail?a_id='+options.id,//\u542b\u5bcc\u6587\u...
第三种方式实现ajax异步刷新--post 4.需求4: 第四种方式实现ajax异步刷新--getJSON 5.需求5: 第五种 使用jquery发送Ajax请求 html 实现html类型传递数据的步骤: 1.管理员登录成功直接进入管理员list.jsp页面,...
PB新大陆星POS扫码支付源码,调用C#动态库,简单实现接口,采用POWERBUILDER9.0开发 string ls_url string ls_data string ls_dd string ls_zfqd //【交易类型--传入平台用】 if rb_1.checked = true then ls_zfqd ...
1、微信js动态传参:wx.request({ url: 'https://m.****.com/index.php/Home/Xiaoxxf/activity_detail?a_id='+options.id,//\u542b\u5bcc\u6587\u672chtml data: { is_detail:1 }, method: 'GET', // OPTIONS, GET, ...
音乐博客小程序采用微信小程序原生开发,封装了多...后台采用vue-admin-template模板,采用koa2构建管理系统后端,多种跨域解决方案,使用GET和POST接口进行接收,同时采用HTTP API访问云开发资源,实现轮播管理,博客管理等;
//微信充值 //支付接口测试 function balance(url, data) { uni.request({ url: cfg.originUrl + '/wx/mp/js_sig.do', data: { route: url }, method: 'GET', success: (res) => { jweixin.config({ debug:...
总是听到前端开发人员和服务器开发人员在讨论接口的问题,而你却一脸懵逼,不知所云,有时候我们会调用第三方平台的服务,但你不知道如何根据对方的接口写文档,因为你根本不知道接口是何物! 这篇文章写得很通俗...
type: 'get', //请求方式 GET|POST dataType: 'json', //请求的数据类型 //取决于后台返回的类型做相应的处理 /** * 回调方法 * @param a * a参数是数据,b参数是页码,c参数是请求每页条数,d参数是总页码...
基于腾讯云Serverless实现的企业微信应用消息推送服务Serverless 云函数目前每月有免费资源使用量40万GBs、免费调用次数100万次API网关目前开通即送时长12个月100万次免费额度个人或者低频率使用完全够了,可以通过 ...
烦而且乱,索性自己写,后期的扩展也容易,看过接口后,开始以为很难,参考了几个源码之后发现也不是那么难,无非是GET或POST请求他们的接口获取返回值之类的,话不多说,这里只提供几个代码共参考,抛砖引玉了。...
主要介绍了http请求405错误方法不被允许的解决 (Method not allowed),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
通用后台角色权限管理系统, 基于 vue-element-admin 和 PHP CodeIgniter 3.1.10 RESTful 实现, 采用前后端分离架构的权限管理系统,PHP快速开发平台,目标是搭建一套简洁易用的快速解决方案,可以帮助用户有效降低...