Android——网络请求

  • get 请求
public static String doGeg() {String result = "";BufferedReader reader;try {// 1.建立连接HttpURLConnection httpURLConnection = null;String url = "https://www.baidu.com";URL requestUrl = new URL(url);httpURLConnection = (HttpURLConnection) requestUrl.openConnection();httpURLConnection.setRequestMethod("GET");httpURLConnection.setConnectTimeout(5000);httpURLConnection.connect();// 2.获取二进制流InputStream inputStream = httpURLConnection.getInputStream();// 3.将二进制流包装reader = new BufferedReader(new InputStreamReader(inputStream));// 从Buffer reader中读取string字符串String line;StringBuilder builder = new StringBuilder();while ((line = reader.readLine()) != null) {builder.append(line);builder.append("\n");}if (builder.length() == 0) {return null;}result = builder.toString();} catch (Exception e) {Log.d("EEEE", "1");e.printStackTrace();}return result;}
  • post 请求
public static boolean doPost(String utlStr) {HttpURLConnection urlConnection = null;OutputStream outputStream = null;boolean result = false;try {URL url = new URL(utlStr);// 1.打开连接urlConnection = (HttpURLConnection) url.openConnection();// 2.准备请求数据Map<String, String> paramMap = new HashMap<>();paramMap.put("userName", "zs");paramMap.put("pass", "123");String paramData = paramMapToString(paramMap);// 3.设置连接信息urlConnection.setRequestMethod("POST");urlConnection.setConnectTimeout(5000);urlConnection.setRequestProperty("Content-Length", String.valueOf(paramData.length()));// 设置conn可以向服务端输出的内容urlConnection.setDoOutput(true);// 4.获取输出流,并进行输出outputStream = urlConnection.getOutputStream();outputStream.write(paramData.getBytes());// 5.获取服务端的响应结果int code = urlConnection.getResponseCode();if (code == 200) {result = true;}} catch (Exception e) {e.printStackTrace();} finally {if (urlConnection != null) {urlConnection.disconnect();}if (outputStream != null) {try {outputStream.close();} catch (IOException e) {e.printStackTrace();}}}return result;}

将Map转为字符串

    public static String paramMapToString(Map<String, String> paramMap) {StringBuilder sb = new StringBuilder();Set<Map.Entry<String, String>> entries = paramMap.entrySet();for (Map.Entry<String, String> entry : entries) {sb.append(entry.getKey()).append("=").append(entry.getValue()).append("&");}// 去掉最后一个&sb.deleteCharAt(sb.length() - 1);return sb.toString();}

处理JSON

    public static void handleJson(String jsonStr) {try {JSONObject jsonObject = new JSONObject(jsonStr);String name = jsonObject.optString("name");Log.d("AAAA", name);} catch (JSONException e) {e.printStackTrace();}}

案例代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/59454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件技术求职简历「优选篇」

【#软件技术简历#】一份精心撰写的简历是增加获得心仪职位的机会。那么&#xff0c;如何才能写出一份既全面又吸引人的软件技术简历呢&#xff1f;以下是幻主简历整理的软件技术简历「优选篇」&#xff0c;欢迎大家阅读收藏&#xff01; 软件技术简历范文&#xff1a; 求职意向…

GESP4级考试语法知识(算法概论(三))

爱因斯坦的阶梯代码&#xff1a; //算法1-12 #include<iostream> using namespace std; int main() {int n1; //n为所设的阶梯数while(!((n%21)&&(n%32)&&(n%54)&&(n%65)&&(n%70)))n; //判别是否满足一组同余式cout<<n<…

SOCKS5协议

SOCKS5协议连接过程 SOCKS5服务器默认监听的端口是1080端口 连接到服务器:SOCKS5客户端会通过TCP三次握手与SOCKS5服务器建立连接协商过程:首先SOCKS5客户端会发送一个请求到服务器。告诉服务器自己支持什么方法。并带有一个方法列表(例如&#xff1a;A,B,C)。然后SOCKS5服务…

爬虫入门urllib 和 request(二)

文章目录 1、urllib介绍2、urllib的基本方法介绍2.1 urllib.Request2.2 response.read() 3、urllib请求百度首页的完整例子4、小结 1、urllib介绍 除了requests模块可以发送请求之外, urllib模块也可以实现请求的发送,只是操作方法略有不同! urllib在python中分为urllib和url…

Perforce《2024游戏技术现状报告》Part2:游戏引擎、版本控制、IDE及项目管理等多种开发工具的应用分析

游戏开发者一直处于创新前沿。他们的实践、工具和技术受到各行各业的广泛关注&#xff0c;正在改变着组织进行数字创作的方式。 近期&#xff0c;Perforce发布了《2024游戏技术现状报告》&#xff0c;通过收集来自游戏、媒体与娱乐、汽车和制造业等高增长行业的从业者、管理人…

美国历任总统特征数据-多个字段(1789-2024年)

数据简介&#xff1a;美国历任总统数据集是一个涵盖了从美国建国以来所有总统的详细信息的综合性数据集。该数据集不仅包含了每位总统的基本信息&#xff08;如姓名、任期、党派等&#xff09;&#xff0c;还涵盖了他们在任期间的重要政策、经济指标、国内外事件等关键数据。通…

实体类实体类

private static final long serialVersionUID1L; TableId(value "id", type IdType.AUTO) /** * 是否默认频道 */ private Boolean isDefault; /** * 创建时间 */ private Date createdTime; Override protected Serializable p…

视频QoE测量学习笔记(二)

A Survey on Bitrate Adaptation Schemes for Streaming Media Over HTTP论文学习笔记 自适应比特率&#xff08;ABH或ABS&#xff09; 是一种旨在通过 HTTP 网络有效地流式传输文件的技术。向用户的视频播放器提供多个相同内容、不同大小文件的文件&#xff0c;然后客户端选…

HTML 基础标签——文本内容标签 <ul>、<ol>、<blockquote> 、<code> 等标签的用法详解

文章目录 1. 标题标签2. 段落标签3. 文本格式化标签4. 列表标签4.1 无序列表 `<ul>`4.2 有序列表 `<ol>`5. 引用标签5.1 块引用 `<blockquote>`5.2 行内引用 `<q>`5.3 作品引用 `<cite>`6. 代码和预格式文本标签6.1 代码标签 `<code>`6.2 …

论文阅读笔记-Get To The Point: Summarization with Pointer-Generator Networks

前言 最近看2021ACL的文章&#xff0c;碰到了Copying Mechanism和Coverage mechanism两种技巧&#xff0c;甚是感兴趣的翻阅了原文进行阅读&#xff0c;Copying Mechanism的模型CopyNet已经进行阅读并写了阅读笔记&#xff0c;如下&#xff1a; 论文阅读笔记&#xff1a;Copyi…

Recyclerview缓存原理

一、Recyclerview列表视图的构建过程 Recyclerview主要是有itemview组成&#xff0c;而itemview的构建过程主要分为以下三步&#xff1a; 1、Create ViewHolder 2、Bind ViewHolder 3、Render ViewHolder 其中&#xff0c;第一步的创建ViewHolder是视图构建最耗时的操作&a…

PDF多功能工具箱 PDF Shaper v14.6

如今对PDF处理的软件很多都是只是单一的功能。PDF Shaper给你完全不同的体验&#xff0c;因为PDF Shaper是一款免费的PDF工具集合的软件。有了PDF Shaper&#xff0c;你以后再也不用下载其他处理PDF的软件了。PDF Shaper的功能有&#xff1a;合并&#xff0c;分割&#xff0c;加…

【算法】(Python)贪心算法

贪心算法&#xff1a; 又称贪婪算法&#xff0c;greedy algorithm。贪心地追求局部最优解&#xff0c;即每一步当前状态下最优选择。试图通过各局部最优解达到最终全局最优解。但不从整体最优上考虑&#xff0c;不一定全局最优解。步骤&#xff1a;从初始状态拆分成一步一步的…

vue常见题型(1-10)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 2.2双向绑定的原理是什么vue框架采用的是数据双向绑定的方式&#xff0c;由三个重要部分构成2.2.1.ViewModel2.2.2 双向绑定2.2.3.1.编译Compile2.2.3.2.依赖收集 3…

论文阅读:人工智能赋能源网荷储协同互动的应用及展望

论文阅读&#xff1a;人工智能赋能源网荷储协同互动的应用及展望 [1]王继业.人工智能赋能源网荷储协同互动的应用及展望[J].中国电机工程学报,2022,42(21):7667-7682.DOI:10.13334/j.0258-8013.pcsee.220538. 文章目录 论文阅读&#xff1a;人工智能赋能源网荷储协同互动的应用…

虚幻引擎5(UE5)学习教程

虚幻引擎5&#xff08;UE5&#xff09;学习教程 引言 虚幻引擎5&#xff08;Unreal Engine 5&#xff0c;简称UE5&#xff09;是Epic Games开发的一款强大的游戏引擎&#xff0c;广泛应用于游戏开发、影视制作、建筑可视化等多个领域。UE5引入了许多先进的技术&#xff0c;如…

Golang | Leetcode Golang题解之第543题二叉树的直径

题目&#xff1a; 题解&#xff1a; func diameterOfBinaryTree(root *TreeNode) int {var (dfs func(node *TreeNode) int // node节点深度ans int)dfs func(node *TreeNode) int {//边界if node nil {return -1}//求左右子树深度leftDepth : dfs(node.Left)rightDepth : d…

Android源码中如何编译出fastboot.exe和adb.exe程序

1、方案背景说明 在进行android项目开发时&#xff0c;如果通用的fastboot工具无法满足项目的定制话的需求时&#xff0c;就需要对fastboot工具的源码进行自定义修改&#xff0c;并编译成新的fastboot和adb工具。 由于安卓源码的的编译通常使用的是ubuntu系统&#xff0c;默认…

百度的面试

在百度的学长&#xff0c;帮我内推了下简历。高兴还没有两秒&#xff0c;就接到通知面试的电话&#xff0c;瞬间压力山大。小公司也没怎么面&#xff0c;八股文背的也不利索&#xff0c;看到镜头里又秃又强的面试官&#xff0c;有如看恐怖片&#xff0c;吓尿了&#xff01;&…

rabbitMQ RabbitTemplate 发送消息

消息发送确认机制 消息发送确认机制&#xff1a;消息由producer发送后&#xff0c;确认其是否到达broker&#xff0c;又是否被exchange转发至对应queue的机制 该机制分为两部分&#xff1a;producer---broker&#xff0c;exchange---queue 前者的实现依靠ConfirmCallback机制…