java中GET方式提交和POST方式提交

java中GET方式提交的示例:

       /*** 獲取關注列表;* @return*/@SuppressWarnings("unchecked")public static ArrayList<String> getUserList() {StringBuffer bufferRes = new StringBuffer();ArrayList<String> users = null;try {URL realUrl = new URL("https://api.weixin.qq.com/cgi-bin/user/get?access_token=" + TokenProxys.accessTokens());//URL realUrl = new URL("https://api.weixin.qq.com/cgi-bin/user/tag/get?access_token=" + TokenProxys.accessTokens());
                    HttpURLConnection conn = (HttpURLConnection)realUrl.openConnection();// 請求方式
conn.setDoOutput(true);conn.setDoInput(true);conn.setRequestMethod("GET");conn.setUseCaches(false);conn.setInstanceFollowRedirects(true);conn.setRequestProperty("Content-Type","application/json");conn.connect();// 獲取URLConnection對象對應的輸入流
InputStream in =conn.getInputStream();BufferedReader read =new BufferedReader(new InputStreamReader(in,"UTF-8"));String valueString =null;while ((valueString=read.readLine())!=null){bufferRes.append(valueString);}System.out.println(bufferRes);in.close();if (conn !=null){// 關閉連接
conn.disconnect();}} catch (Exception e) {e.printStackTrace();}//將返回的字符串轉換成json
JSONObject jsonObject = JSONObject.fromObject(bufferRes.toString());//解析json中表示openid的列表
JSONObject data = (JSONObject)jsonObject.get("data");if(data!=null){//將openid列表轉化成數組保存
users = new ArrayList<String>(data.getJSONArray("openid"));//獲取關注者總數int count = Integer.parseInt(jsonObject.get("total").toString());if(count>1000){JSONObject object = jsonObject;String next_openid = null;JSONObject ob_data = null;ArrayList<String> ob_user = null;//大于1000需要多次獲取,或許次數為count/1000for(int i=0;i<count/1000;i++){//解析出下次獲取的啟示openid
next_openid = object.get("next_openid").toString();object = getUserJson(next_openid);ob_data = (JSONObject)object.get("data");ob_user = new ArrayList<String>(ob_data.getJSONArray("openid"));for(String open_id : ob_user){//將多次獲取的openid添加到同一個數組
users.add(open_id);}}}}return users;}

java中POST方式提交的示例:

    public static void main(String[] args) {try { String pathUrl = "https://api.weixin.qq.com/cgi-bin/user/tag/get?access_token=zN6OKXWAdBKdwPUc1CFXIW-czck3W1CURoKr38Xy7jjDpyIxrpmSyfglAY1Bnvq3FePZbFVUzpeLfWC9lml7ENeApBJhSDXE-BRrHCmBsTk4gUI6DxxDgrGekrdkUSDkETAhAGAZOV"; // 建立連接 URL url = new URL(pathUrl); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); // //設置連接屬性 httpConn.setDoOutput(true);// 使用 URL 連接進行輸出 httpConn.setDoInput(true);// 使用 URL 連接進行輸入 httpConn.setUseCaches(false);// 忽略緩存 httpConn.setRequestMethod("POST");// 設置URL請求方法//POST請求設置所需要的JSON數據格式{"tagid" : 134,"next_openid":""//第一個拉取的OPENID,不填默認從頭開始拉取}List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();Map<String, Object> map = new HashMap<String, Object>();map.put("tagid", 104);map.put("next_openid","");list.add(map);JSONArray arry=JSONArray.fromObject(map);String requestString = arry.toString().replace("[", "").replace("]", "");// 設置請求屬性 // 獲得數據字節數據,請求數據流的編碼,必須和下面服務器端處理請求流的編碼一致 byte[] requestStringBytes = requestString.getBytes("utf-8"); httpConn.setRequestProperty("Content-length", "" + requestStringBytes.length); httpConn.setRequestProperty("Content-Type", "application/octet-stream"); httpConn.setRequestProperty("Connection", "Keep-Alive");// 維持長連接 httpConn.setRequestProperty("Charset", "UTF-8"); // 建立輸出流,并寫入數據 OutputStream outputStream = httpConn.getOutputStream(); outputStream.write(requestStringBytes); outputStream.close(); // 獲得響應狀態 int responseCode = httpConn.getResponseCode(); if (HttpURLConnection.HTTP_OK == responseCode) {// 連接成功 // 當正確響應時處理數據 StringBuffer sb = new StringBuffer(); String readLine; BufferedReader responseReader; // 處理響應流,必須與服務器響應流輸出的編碼一致 responseReader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), "utf-8")); while ((readLine = responseReader.readLine()) != null) { sb.append(readLine).append("\n"); } responseReader.close(); System.err.println(sb.toString());} } catch (Exception ex) { ex.printStackTrace(); } }    

?post請求向服務器傳遞參數的另外一種形式:

服務器端接受參數:String datas= request.getParameter("datas");

    public static void sendPost() throws IOException{List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();Map<String, Object> map = new HashMap<String, Object>();map.put("phone", "phone");list.add(map);JSONArray arry=JSONArray.fromObject(map);String requestString = arry.toString();String result="";PrintWriter out = null;  BufferedReader in = null; String pathUrl = "http://shuilangyizu.iask.in/app/appWechatDataController/wchatInfo.do";URL url=null;try {url = new URL(pathUrl);URLConnection connect = url.openConnection();connect.setRequestProperty("content-type","application/x-www-form-urlencoded;charset=utf-8");connect.setRequestProperty("method","POST");byte[] bytes= requestString.getBytes("utf-8") ;connect.setDoOutput(true);  connect.setDoInput(true);  out = new PrintWriter(connect.getOutputStream());  // 發送請求參數  out.print("datas="+requestString);out.flush();  // 定義BufferedReader輸入流來讀取URL的響應  in = new BufferedReader(new InputStreamReader(connect.getInputStream()));  String line;  while ((line = in.readLine()) != null) {  result +=  line;  }   System.out.println(result);   } catch (Exception e) {// TODO Auto-generated catch block
             e.printStackTrace();}}

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/258863.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258863.shtml
英文地址,請注明出處:http://en.pswp.cn/news/258863.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于HALCON的模板匹配方法總結

很早就想總結一下前段時間學習HALCON的心得&#xff0c;但由于其他的事情總是抽不出時間。去年有過一段時間的集中學習&#xff0c;做了許多的練習和實驗&#xff0c;并對基于HDevelop的形狀匹配算法的參數優化進行了研究&#xff0c;寫了一篇《基于HDevelop的形狀匹配算法參數…

js 數組移除_2020前端面試--常見的js面試題

&#xff08;答案持續更新...&#xff09; 1.簡述同步和異步的區別js是一門單線程語言&#xff0c;所謂"單線程"&#xff0c;就是指一次只能完成一件任務。如果有多個任務&#xff0c;就必須排隊&#xff0c;前面一個任務完成&#xff0c;再執行后面一個任務&#xf…

spring-自動加載配置文件\使用屬性文件注入

在上一篇jsf環境搭建的基礎上 , 加入spring框架 , 先看下目錄結構 src/main/resources 這個source folder 放置web項目所需的主要配置,打包時,會自動打包到WEB-INF下 首先看下pom.xml,需要引入一些依賴項: 1 <project xmlns"http://maven.apache.org/POM/4.0.0" x…

pygame碰撞檢測

最近在學Pygame,花一段時間做了一個異常簡陋版的"打磚塊". 這次重點說一下困擾我比較長時間的碰撞檢測(個人太菜..). 按照網上教程比較普遍的方法(也可能是我沒看見別的),碰撞檢測依次計算移動物體與被碰撞物體各個邊之間坐標是否相交.例如下列代碼,檢測小球與窗口的…

2017-5-4 進程

進程&#xff1a;一個應用程序就是一個進程開啟某個進程Process.Start("文件縮寫名");通過絕對路徑開啟某個進程Process p new Process();p.StartInfo new ProcessStartInfo("要打開的程序絕對路徑");p.Start(); 獲取全部開啟的進程&#xff1a;Process.…

很有用的cv牛人的網址和主要貢獻

CV人物1&#xff1a;Jianbo Shi史建波畢業于UC Berkeley&#xff0c;導師是Jitendra Malik。其最有影響力的研究成果&#xff1a;圖像分割。其于2000年在PAMI上多人合作發表"Noramlized cuts and image segmentation"。這是圖像分割領域內最經典的算法。主頁&#xf…

c++分治法求最大最小值實現_程序員:算法導論,分治法、歸并排序,偽代碼和Java實現...

分治法我們首先先介紹分治法。分治法的思想&#xff1a;將原問題分解為幾個規模較小但類似于原問題的子問題&#xff0c;遞歸地求解這些子問題&#xff0c;然后在合并這些子問題的解來解決原問題的解。還是拿撲克牌舉例子&#xff0c;假設桌上有兩堆牌面朝上的牌(牌面朝上&…

菜根譚#82

風來疏竹&#xff0c;風過而竹不留聲&#xff1b;雁度寒潭&#xff0c;雁去而潭不留影&#xff1b;故君子事來而心始現&#xff0c;事去而心隨空。 轉載于:https://www.cnblogs.com/star4knight/p/3604403.html

解讀ASP.NET 5 MVC6系列(9):日志框架

解讀ASP.NET 5 & MVC6系列&#xff08;9&#xff09;&#xff1a;日志框架 原文:解讀ASP.NET 5 & MVC6系列&#xff08;9&#xff09;&#xff1a;日志框架框架介紹 在之前的.NET中&#xff0c;微軟還沒有提供過像樣的日志框架&#xff0c;目前能用的一些框架比如Log4N…

2017第18周四

繼續加班中&#xff0c;很多事不如預期。時間花費很多但效果不成比例。越忙落下的事越多&#xff0c;有時候還需要讓自己靜下來想想&#xff0c;到底有什么是重要的。集中精力放在重要的哪些事&#xff0c;盡自己最大努力即可&#xff0c;盡最大努力即使沒有達到也可以沒有遺憾…

halcon相關的鏈接

論壇、培訓 halcon學習網&#xff1a;http://www.ihalcon.com/鳥叔機器視覺&#xff1a;http://bbs.szvbt.com/forum.php 博客 韓兆新的博客園majunfuLife and Codingzhaojun的博客風韻無聲騎螞蟻上高速的博客小馬_xiaoLV2小新識圖程序園-程序員的世界章柯淵的博客 注&…

[轉]Java8-本地緩存

這里我將會給大家演示用ConcurrentHashMap類和lambda表達式實現一個本地緩存。因為Map有一個新的方法可以在key為Null的時候自動計算一個新的value值。非常完美的實現cache。來看下代碼&#xff1a; public static void main(String[] args) {for (int i 0; i < 10; i)Syst…

python opencv圖像處理程序_Python-OpenCV學習(四):基本圖像處理

轉載請注明出處&#xff1a;danscarlett的博客園 參考資料&#xff1a; 目錄&#xff1a; 讀取 imread 顯示 imshow 存儲 imwrite 縮放 resize 加邊框 copyMakeBorder 裁剪 img[x_start:x_end,y_start:y_end] 1.圖像讀取&#xff1a; cv2.imread(fileName,flagsNone) 函數功能&…

Java進程占用CPU資源過多分析

問題描述&#xff1a; 生產環境下的某臺tomcat7服務器&#xff0c;在剛發布時的時候一切都很正常&#xff0c;在運行一段時間后就出現CPU占用很高的問題&#xff0c;基本上是負載一天比一天高。 問題分析&#xff1a; 1&#xff0c;程序屬于CPU密集型&#xff0c;和開發溝通過&…

分針網——怎么輕松學習JavaScript

js給初學者的印象總是那么的“雜而亂”&#xff0c;相信很多初學者都在找輕松學習js的途徑。我試著總結自己學習多年js的經驗&#xff0c;希望能給后來的學習者探索出一條“輕松學習js之路”。js給人那種感覺的原因多半是因為它如下的特點&#xff1a;A&#xff1a;本身知識很抽…

MATLAB中floor、round、ceil、fix區別

Matlab取整函數有: fix, floor, ceil, round.具體應用方法如下&#xff1a;fix朝零方向取整&#xff0c;如fix(-1.3)-1; fix(1.3)1;floor&#xff0c;顧名思義&#xff0c;就是地板&#xff0c;所以是取比它小的整數&#xff0c;即朝負無窮方向取整&#xff0c;如floor(-1.3)-2…

python時間序列分析航空旅人_用python做時間序列預測一:初識概念

利用時間序列預測方法&#xff0c;我們可以基于歷史的情況來預測未來的情況。比如共享單車每日租車數&#xff0c;食堂每日就餐人數等等&#xff0c;都是基于各自歷史的情況來預測的。 什么是時間序列&#xff1f; 時間序列&#xff0c;是指同一個變量在連續且固定的時間間隔上…

解決mysql不能遠程登入的問題

mysql遠程不能登入&#xff0c;問題就在于當時設置的賬號只限制本地訪問&#xff0c;mysql默認也只是本地訪問。之前的設置&#xff1a; 通過命令行登錄管理MySQL服務器&#xff08;提示輸入密碼時直接回車&#xff09;&#xff1a; mysql> /usr/local/webserver/mysql/bin/…

ASCII碼、HEX、字符、BCD 等等 基礎知識思考

每每遇到這些問題就要想個半天&#xff0c;想不明白還不舒服&#xff0c;今天特別把所想整理下避免以后再次進入思想漩渦&#xff01;&#xff01;&#xff01;計算機存儲和傳輸都是以字節為單位 1 bit 1 二進制數據 1 byte 8 bit 1 字母 1 by…

[Logstash-input-redis] 使用詳解

2019獨角獸企業重金招聘Python工程師標準>>> Redis插件參數配置詳解 工作流程 logstash啟動redis插件redis插件獲取參數&#xff0c;進行校驗工作判斷監聽模式(list,channel,pattern_channel等)&#xff0c;根據不同的監聽模式創建監聽任務創建redis實例&#xff0c…