日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2025/6/15 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hbuilder MUI里面使用java.net.URL发送网络请求,操作cookie 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。