1、我新建了一个新项目,先添加权限:
<uses-permission android:name="android.permission.INTERNET"/>
2、添加属性(如果网址是 http 的话需要添加,https 不需要添加):
android:usesCleartextTraffic="true"
3、新起一个子线程(网络请求可能比较耗时,不允许在主线程中执行):
private void startHttpRequestThread() {
new Thread(new Runnable() {
@Override
public void run() {
doHttpRequest();
}).start();
4、定义需要传递给服务器的 json 数据
private String getJsonContent() throws JSONException {
JSONObject jsonObject = new JSONObject();
jsonObject.put("username", "user123");
jsonObject.put("password", "psw123");
jsonObject.put("device", "device123");
return jsonObject.toString();
5、执行网络请求:
private void doHttpRequest() {
try {
URL url = new URL("http://192.168.xxx.xxx:8080/xxx/login");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection","keep-Alive");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.connect();
String json = getJsonContent();
OutputStream os = conn.getOutputStream();
os.write(json.getBytes(StandardCharsets.UTF_8));
os.flush();
os.close();
int responseCode = conn.getResponseCode();
android.util.Log.e("tag", "responseCode = " + responseCode);
if (responseCode == HttpURLConnection.HTTP_OK) {
InputStream input = conn.getInputStream();
StringBuilder sb = new StringBuilder();
int ss;
while ((ss = input.read()) != -1) {
sb.append((char) ss);
android.util.Log.e("tag", "请求结果 = " + sb.toString());
input.close();
conn.disconnect();
} catch (Exception e) {
android.util.Log.e("tag", "出现异常: " + e.toString());
e.printStackTrace();
String mddLoginResult = "";
mddLoginResult = YdHttpPostUtils.mddLogin(username,password);
3.看看这个login方法是怎么写的
public static String mddLogin(String username,Strin.
Android6.0中把Apache HTTP Client所有的包与类都标记为deprecated不再建议使用所有跟HTTP相关的数据请求与提交操作都通过HttpURLConnection类实现,现实是很多Android开发者一直都Apache HTTP Client来做andoird客户端与后台HTTP接口数据交互,小编刚刚用HttpURLConnection做了一个android的APP,不小心踩到了几个坑,总结下最常用的就通过HttpURLConnection来POST提交JSON数据与GET请求JSON数据。此外就是下载图片,下载图片分为显示进度与不显示进度两种。其中提交数据的时候涉
之前的文章介绍过通过报文的方式HttpURLConnection提交post请求,今天介绍下通过Json参数的方法提交Post请求,先上代码
public static HttpResponse sendPost(String url, String param, Charset charset) {
try {
URL httpurl...
HttpURLconnection使用POST方式提交JSON数据给服务器最原始的味道,使用H团体票URLconnection提交JSON数据给后台服务器。此处留下标记。
将javabean对象转换成Json字符串。
通过HttpUrlconnection提交数据。
getRequestCode返回415
1.javabean转换成JSON字符串工具类。这里使用Gson解析器,请各位自行添加依赖包。
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnectio
重写X509TrustManager
1 private static TrustManager myX509TrustManager = new X509TrustManager() {
3 @Override
4 public X509Certificate[] getAcceptedIssuers() {
5 return...
java-HttpURLConnection 发送POST请求 传递参数或JSON数据
需求 三方接口 restful请求 POST方式 参数JSON 接收数据JSON
HttpURLConnection发送POST请求
public class RestUtil {
public String postMethod(String url,String param){
// 结果值
StringBuffer rest=new StringBuffe
private void sendData(String url, String jsonDataStr) {
HttpURLConnection conn = null;
OutputStreamWriter out = null;
String url = "http://www.baidu.com";
//请求参数
RequesetBody requesetBody = new RequesetBody();
//将接口传入文本放入实体中
requesetBody.setQueryText(context);
try {
//调用getData请求url取响应参数
String response = getData(url, requesetBody);
分享以下编译错误:java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException的一种解决方法
20970