-
HttpURLConnection
2017-09-06 17:47:28HttpURLConnection的demo,里面有网络请求get post 上传文件,下载文件,介绍HttpURLConnection这个类整体流程是怎样使用的,方便初学者学习 -
httpurlconnection
2016-03-06 22:16:35 -
HttpURLconnection
2019-09-27 17:10:26HttpURLconnection标准Java接口(java.NET),可以实现简单的基于URL请求、响应功能,Google建议使用httpURLconnection进行网络访问操作。 HttpURLconnection 是基于http协议的,支持get,post,put,delete等各种...HttpURLconnection 标准Java接口(java.NET),可以实现简单的基于URL请求、响应功能,Google建议使用httpURLconnection进行网络访问操作。
HttpURLconnection 是基于http协议的,支持get,post,put,delete等各种请求方式
测试post请求
public static void post() { try{ HttpURLConnection conn = (HttpURLConnection) new URL("http://localhost:8081/admin/query2").openConnection(); conn.setUseCaches(false); conn.setDoInput(true); conn.setDoOutput(true); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type","application/json"); JSONObject bodyMap = new JSONObject(); bodyMap.put("username", "xiaoming"); bodyMap.put("password", "123"); bodyMap.put("email","@163.com"); OutputStreamWriter outputStreamWriter = new OutputStreamWriter(conn.getOutputStream()); outputStreamWriter.write(bodyMap.toString()); outputStreamWriter.close(); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuilder stringBuilder = new StringBuilder(); String line = null; while ((line = reader.readLine())!= null) { stringBuilder.append(line); } reader.close(); System.out.println(stringBuilder); }catch (Exception e){ e.printStackTrace(); } }
测试get
public static void get() { try { //请求 HttpURLConnection conn = (HttpURLConnection) new URL("https://www.baidu.com").openConnection(); conn.setUseCaches(false); conn.setDoInput(true); conn.setDoOutput(true); conn.setRequestMethod("GET"); conn.connect(); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line = null; while ((line = reader.readLine())!= null) { System.out.println(line); } reader.close(); } catch (Exception e) { e.printStackTrace(); } }
使用代理
public static void proxy() { try { //设置代理 Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("39.xxx.xxx.29", 808)); //请求 HttpURLConnection conn = (HttpURLConnection) new URL("https://www.baidu.com").openConnection(proxy); conn.setUseCaches(false); conn.setDoInput(true); conn.setDoOutput(true); conn.setRequestMethod("GET"); conn.connect(); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line = null; while ((line = reader.readLine())!= null) { System.out.println(line); } reader.close(); } catch (Exception e) { e.printStackTrace(); } }
-
HttpUrlConnection
2018-06-10 13:50:48HttpUrlConnection GET和POST方式有什么区别 HttpUrlConnection请求网络数据实例 HttpUrlConnection加载网络数据实例 Shring/StringBuffer/StringBuilder有什么区别 GET和POST方式有什么区别 get方式属于...HttpUrlConnection
- GET和POST方式有什么区别
- HttpUrlConnection请求网络数据实例
- HttpUrlConnection加载网络数据实例
- Shring/StringBuffer/StringBuilder有什么区别
GET和POST方式有什么区别
get方式属于明文传参,在地址栏可以看到参数,调用简单,不安全。
post方式输入暗文传参,在地址栏参数不可见调用稍复杂,安全。HttpUrlConnection请求网络数据实例
- 创建URL对象
- 通过URL对象调用openConnection()方法获得HttpURLConnection对象
- HttpURLConnection对象设置其他链接属性
- HttpURLConnection对象调用getInputStream()方法向服务器发送HTTP请求并获取到服务器返回的输入流
- 读取输入流,转换成String字符串
package com.example.goshz.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class Main5Activity extends AppCompatActivity{ private Button abut; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main5); abut=findViewById(R.id.abut); abut.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread(new Runnable() { @Override public void run() { getWebInfo(); } }).start(); } }); } private void getWebInfo() { try { URL url=new URL("http://www.baidu.com"); HttpURLConnection connection= (HttpURLConnection) url.openConnection(); InputStream inputStream=connection.getInputStream(); InputStreamReader reader=new InputStreamReader(inputStream); BufferedReader bufferedReader=new BufferedReader(reader); String temp=""; StringBuffer stringBuffer=new StringBuffer(); while ((temp=bufferedReader.readLine())!=null){ stringBuffer.append(temp); } Log.e("************",stringBuffer.toString()); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
HttpUrlConnection加载网络数据实例
URL url = new URL(""); HttpURLConnection connection= (HttpURLConnection) url.openConnection(); InputStream inputStream=connection.getInputStream(); Bitmap bitmap= BitmapFactory.decodeStream(inputStream);
加载网络图片会更新UI,需要创建一个Handler对象进行消息的传输,最后把方法放在子线程中就OK啦。
Shring/StringBuffer/StringBuilder有什么区别
String:字符串常量
StringBuffer:字符串变量
StringBuilder:字符串变量
从上面的名字可以看到,String是“字符创常量”,也就是不可改变的对象。
StringBuffer/StringBuilder是生产这个商品的流水线,StringBuffer速度慢,但(线程)安全性高,StringBuilder速度快,但(线程)安全性差。
String 类是final,引用内存中的值不可变。引用数据量一大就不效率,StringBuffer 是用于频繁修改的,而且是线程安全,StringBuilder 是线程不安全。如果只是用来声明一个变量的话就用String,如果用于字符串之间的频繁操作的话就用StringBuffer。
如果少量的字符串操作采用String,如果单线程下操作大量字符串采用StringBuilder ,如果多线程下操作大量字符串采用StringBuffer 。
StringBuffer、StringBuilder和String一样,也用来代表字符串。String类是不可变类,任何对String的改变都会引发新的String对象的生成;StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象。
StringBuffer和StringBuilder类的区别也是如此,他们的原理和操作基本相同,区别在于StringBufferd支持并发操作,线性安全的,适合多线程中使用。StringBuilder不支持并发操作,线性不安全的,不适合多线程中使用。新引入的StringBuilder类不是线程安全的,但其在单线程中的性能比StringBuffer高。
-
HTTPURLConnection
2018-03-12 22:19:35Http请求 Http请求是客户端和服务器端之间,发送请求和返回应答的标准(TCP) ... HTTPURLConnection ...标准Java接口(java.NET) —-HttpURLConnection,可以实现简单的基于URL请求、响应功能;...HttpURLconnection...Http请求
- Http请求是客户端和服务器端之间,发送请求和返回应答的标准(TCP)
- 客户端发出一个HTTP请求后,就与服务器建立起TCP连接,服务端接收到请求并进行处理后返回给客户端响应数据
HTTPURLConnection
标准Java接口(java.NET) —-HttpURLConnection,可以实现简单的基于URL请求、响应功能;
HttpURLconnection是基于http协议的,支持get,post,put,delete等各种请求方式,最常用的就是get和post.HTTP常用的请求方式
- get方式:明文传参,在地址栏可以看到参数,调用简单,不安全
- post方式:暗文传参,在地址栏参数不可见,调用稍复杂,安全
使用 HTTPURLConnection步骤
- 创建URL对象
- 通过URL对象调用openConnection()方法获得HttpURLConnection对象
- HttpURLConnection对象设置其他连接属性
- HttpURLConnection对象调用用getInputStream()方法向服务器发送http请求并获取到服务器返回的输入流
- 读取输入流,转换成String字符串
注意:
- 在Android中访问网络必须添加网络权限
- 在Android中访问网络必须放在子线程中执行
使用 HTTPURLConnection代码展示
private void getWebInfo(){ try { //1.找水源——创建URL URL url=new URL("http://www.csdn.net/"); //2.开水闸——openConnection HttpURLConnection httpURLConnection= (HttpURLConnection) url.openConnection(); //3.建管道——InputStream InputStream inputStream=httpURLConnection.getInputStream(); //4.建蓄水池蓄水——InputStreamReader InputStreamReader reader=new InputStreamReader(inputStream,"UTF-8"); //5.水桶盛水——BufferedReader BufferedReader bufferedReader=new BufferedReader(reader); StringBuffer stringBuffer=new StringBuffer(); String temp=null; while ((temp=bufferedReader.readLine())!=null){ stringBuffer.append(temp); } bufferedReader.close(); reader.close(); inputStream.close(); Log.e("MAIN",stringBuffer.toString()); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
添加网络权限
<uses-permission android:name="android.permission.INTERNET" />
-
(新)备战2021软考网络工程师顺利通关培训套餐
-
Java星选一卡通
-
install_flash_player_ax_cn_34_0_0_92离线安装包
-
阿里云云计算ACP考试必备教程
-
智联万物,京东IoT技术创新与实践
-
ArcGIS Pro2.6和ArcGIS Enterprise学习
-
Zabbix-分布式监控平台部署-2.LNMP部署
-
glibc-static-2.17-292.el7.x86_64.rpm
-
gostudy_zip dos下怎么样才能下go棋
-
朱有鹏老师嵌入式linux核心课程2期介绍
-
(新)备战2021软考网络工程师分类强化培训套餐
-
Discourse 如何设置 API 的 key
-
2.4 LinkedList 源码解析
-
《马克思主义基本原理》考试大纲_Touale的博客-CSDN博客.pdf
-
网页设计与制作实例教程源码.rar
-
【数据分析-随到随学】数据分析基础及方法论
-
Swiper组件(一)-- 使用
-
python json.dumps中文乱码问题解决
-
【数据分析-随到随学】量化交易策略模型
-
2021-01-18