1. 引入所需网络请求类:

            var URL = plus.android.importClass("java.net.URL");var URLConnection = plus.android.importClass("java.net.URLConnection");var BufferedReader = plus.android.importClass("java.io.BufferedReader");var InputStreamReader = plus.android.importClass("java.io.InputStreamReader");var StrictMode = plus.android.importClass("android.os.StrictMode");

2. 忽略Android3.0开始强制程序不能在主线程中访问网络的强制策略

            //以下两句必加,不然会请求不了网络,原因://android3.0版本开始就强制程序不能在主线程中访问网络,要把访问网络放在独立的线程中。//以下两句可以忽略这些强制策略。var policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();  StrictMode.setThreadPolicy(policy);

3. 使用URL进行网络请求

            var httpConn = new URL("https://login.10086.cn/captchazh.htm?type=05&timestamp=" + nowtime).openConnection();// 设置通用属性httpConn.setRequestProperty("Accept", "*/*");httpConn.setRequestProperty("Content-Type", "image/jpeg");httpConn.setRequestProperty("Connection", "Keep-Alive");//设置Cookie//httpConn.setRequestProperty("Cookie", cookies);httpConn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");// 建立实际的连接httpConn.connect();

4. 获取请求头和Set-Cookie以及返回的数据:

            // 响应头部获取var htmlHeads = [];var cookies = "";//取cookiefor (var i = 1; i < 100; i++) {var key_ = httpConn.getHeaderFieldKey(i);if (key_ == null){console.log("--------------------------------"+cookies);break;}else{htmlHeads.push(key_ + ':' +httpConn.getHeaderField(i));if(key_ == "Set-Cookie") {var cookie = httpConn.getHeaderField(i);cookies += cookie.substring(0, cookie.indexOf(";")+1);}}}//----------------获取输出 start----------------//var reader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), "UTF-8"));var lines;//输出数据var response = "";while ((lines = reader.readLine()) != null)  {response += lines;}reader.close();//----------------获取输出 end----------------//

完整例子:

        function gocook() {var nowtime = (new Date).getTime();var URL = plus.android.importClass("java.net.URL");var URLConnection = plus.android.importClass("java.net.URLConnection");var BufferedReader = plus.android.importClass("java.io.BufferedReader");var InputStreamReader = plus.android.importClass("java.io.InputStreamReader");var StrictMode = plus.android.importClass("android.os.StrictMode");//以下两句必加,不然会请求不了网络,原因://android3.0版本开始就强制程序不能在主线程中访问网络,要把访问网络放在独立的线程中。//以下两句可以忽略这些强制策略。var policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();  StrictMode.setThreadPolicy(policy);var httpConn = new URL("https://login.10086.cn/captchazh.htm?type=05&timestamp=" + nowtime).openConnection();// 设置通用属性httpConn.setRequestProperty("Accept", "*/*");httpConn.setRequestProperty("Content-Type", "image/jpeg");httpConn.setRequestProperty("Connection", "Keep-Alive");//设置Cookie//httpConn.setRequestProperty("Cookie", cookies);httpConn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");// 建立实际的连接httpConn.connect();// 响应头部获取var htmlHeads = [];var cookies = "";//取cookiefor (var i = 1; i < 100; i++) {var key_ = httpConn.getHeaderFieldKey(i);if (key_ == null){console.log("--------------------------------"+cookies);break;}else{htmlHeads.push(key_ + ':' +httpConn.getHeaderField(i));if(key_ == "Set-Cookie") {var cookie = httpConn.getHeaderField(i);cookies += cookie.substring(0, cookie.indexOf(";")+1);}}}//----------------获取输出 start----------------//var reader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), "UTF-8"));var lines;//输出数据var response = "";while ((lines = reader.readLine()) != null)  {response += lines;}reader.close();//----------------获取输出 end----------------//}

Hbuilder MUI里面使用java.net.URL发送网络请求,操作cookie相关推荐

  1. java实现请求发送_java实现响应重定向发送post请求操作示例

    本文实例讲述了java实现响应重定向发送post请求操作.分享给大家供大家参考,具体如下: 关于重定向我们用的比较多的还是redirect:重定向,默认发送的get请求. return "r ...

  2. java重定向post_java实现响应重定向发送post请求操作示例

    本文实例讲述了java实现响应重定向发送post请求操作.分享给大家供大家参考,具体如下: 关于重定向我们用的比较多的还是redirect:重定向,默认发送的get请求. return "r ...

  3. JAVA通过HTTPS发送POST请求的方法

    因为调用一个外部接口,会用到POST请求,而且还是Https的,但是由于之前学习的时候没有用到,所以研究了很久才弄懂了怎么去用JAVA实现Https发送post请求 使用的是HttpsURLConne ...

  4. java post重定向_java实现响应重定向发送post请求操作示例

    本文实例讲述了java实现响应重定向发送post请求操作.分享给大家供大家参考,具体如下: 关于重定向我们用的比较多的还是redirect:重定向,默认发送的get请求. return "r ...

  5. spring里restTemplate向目的URL发送post请求

    /** * 向目的URL发送post请求 * @param url 目的url * @param userDTO 发送的参数 * @return ResultVO */public static Us ...

  6. OkHttp3 发送网络请求服务器

    前言:应用程序需要发送网络请求服务器的接口,可使用OkHttp 3发送请求获取服务端数据 GitHut地址 Step 1:申请网络请求的权限:在manifests层的AndroidManifest.x ...

  7. vue如何发送网络请求,使用axios事半功倍!

    目录 一.axios使用 1.支持多种请求方式: 2.安装 3.简单使用实例 4.发送并发请求 5.全局配置 二.axios的实例 1.为什么要创建 axios的实例呢? 2.使用 三..axios模 ...

  8. Fetch发送网络请求

    1. 文档 https://github.github.io/fetch/ https://segmentfault.com/a/1190000003810652 2. 特点 fetch: 原生函数, ...

  9. axios发送网络请求

    网络模块封装 选择什么网络模块 传统的Ajax 缺点:配置和调用方式等非常混乱 jQuery-Ajax 缺点:在Vue整个开发中都是不需要使用jQuery的 axios axios 功能特点: 在浏览 ...

最新文章

  1. 【转】IOS动画的实现,其实很简单
  2. MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)的理解(即c++参数初始)
  3. keras从入门到放弃(二十)LSTM处理 电影评价预测
  4. html-iframe内联框架
  5. Java实用知识记录 —— 截止到Java8
  6. mysql函数操作(5)
  7. ListView多种item注意以及自己出现的莫名其妙的错误
  8. 如何配置Mysql驱动
  9. 手写字体识别(1) 准备数据集
  10. web服务器集群-------Apache网页优化 (1)网页压缩
  11. BIOS修改mbr为gpt的步骤
  12. 如何彻底杀死/关闭烦人的弹窗广告
  13. 静态网页制作初步体会
  14. 程序猿进化 - 在拉钩子1024对APE节讲座计划
  15. 抖音书单号如何快速上热门
  16. Docker学习笔记 (4)
  17. 数字经济核心科技深度报告:AI+5G是数字时代通用技术平台
  18. 微信官方:微信圈子将停止运营
  19. 手游挂机工作室 - 二三点科普
  20. esp8266 AMR转PCM

热门文章

  1. 所有的经历都是财富 --致我的2016
  2. 机器人动力学简化模型(Euler-Lagrange equation)
  3. 报表-对于多数据进行 分sheet以及 分workbook处理
  4. c# 拼接lambda表达式 (转载)
  5. [JAVA]引入目录下所有jar包等问题
  6. ThinkPHP 的一些知识
  7. [Everyday Mathematics]20150204
  8. ORACLE DataGuard主备切换
  9. 【转】揭开正则表达式的神秘面纱
  10. C#字符串中特殊字符的转义