日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java 實現通過 post 方式提交json參數操作

瀏覽:133日期:2022-08-24 18:18:19

由于所爬取的網站需要驗證碼,通過網頁的開發人員工具【F12】及在線http post,get接口測試請求工具(http://coolaf.com/)發現訪問時加上請求頭header 信息時可以跳過驗證碼校驗。

而且該網站只接受post請求,對提交的參數也只接受json格式,否則請求失敗。

現將通過 post 方式提交json參數的方法記錄如下:

import java.io.UnsupportedEncodingException;import java.net.URI;import java.net.URLDecoder;import java.util.ArrayList;import java.util.List;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.config.RequestConfig;import org.apache.http.client.methods.HttpPost;import org.apache.http.client.methods.HttpRequestBase;import org.apache.http.client.utils.URIBuilder;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClientBuilder;import org.apache.http.impl.client.HttpClients;import org.apache.http.util.EntityUtils;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;/** * <p>@PostJsonParamsTest.java</p> * @version 1.0 * @author zxk * @Date 2018-3-3 */public class PostJsonParamsTest { // 超時時間 private static final int RUN_TIME =10000; // 爬取初始頁數 private String page; public static void main(String[] args) throws Exception { PostJsonParamsTest crawl = new PostJsonParamsTest(); // 請求的url地址 String url ='http://www.gzcredit.gov.cn/Service/CreditService.asmx/searchOrgWithPage'; // 設置起始訪問頁碼 crawl.setPage('1'); String isStop = ''; // 設置請求 HttpRequestBase request = null; request = new HttpPost(url); try { // 設置config RequestConfig requestConfig = RequestConfig.custom() .setSocketTimeout(RUN_TIME) .setConnectTimeout(RUN_TIME) .setConnectionRequestTimeout(RUN_TIME) .build(); request.setConfig(requestConfig); // json 格式的 post 參數 String postParams ='{'condition':{'qymc':'%%%%','cydw':''},'pageNo':'+crawl.getPage()+','pageSize':100,count:2709846}'; System.out.println(postParams); HttpEntity httpEntity = new StringEntity(postParams); ((HttpPost) request).setEntity(httpEntity); // 添加請求頭,可以繞過驗證碼 request.addHeader('Accept','application/json, text/javascript, */*'); request.addHeader('Accept-Encoding','gzip, deflate'); request.addHeader('Accept-Language', 'zh-CN,zh;q=0.8'); request.addHeader('Connection', 'keep-alive'); request.addHeader('Host', 'www.gzcredit.gov.cn'); request.addHeader('Content-Type', 'application/json; charset=UTF-8'); URIBuilder builder = new URIBuilder(url); URI uri = builder.build(); uri = new URI(URLDecoder.decode(uri.toString(), 'UTF-8')); request.setURI(uri); while(!isStop.equals('停止')||isStop.equals('重跑')){isStop = crawl.crawlList(request);if(isStop.equals('爬取')){ crawl.setPage(String.valueOf(Integer.parseInt(crawl.getPage())+1));}// if('2713'.equals(crawl.getPage())) break;if('2'.equals(crawl.getPage())){ break;} } } catch (NumberFormatException e) { e.printStackTrace(); throw new NumberFormatException('數字格式錯誤'); } catch (UnsupportedEncodingException e) { e.printStackTrace(); throw new UnsupportedEncodingException('不支持的編碼集'); } } /** * 爬取搜索列表 * @param page * @return */ private String crawlList(HttpRequestBase request){ int statusCode = 0; // 下面兩種方式都可以用來創建客戶端連接,相當于打開了一個瀏覽器 CloseableHttpClient httpClient = HttpClients.createDefault(); // HttpClient httpClient = HttpClientBuilder.create().build(); HttpEntity httpEntity = null; HttpResponse response = null; try { try {response = httpClient.execute(request); } catch (Exception e){e.printStackTrace();EntityUtils.consumeQuietly(httpEntity);return '重跑'; } //打印狀態 statusCode =response.getStatusLine().getStatusCode(); if(statusCode!=200){EntityUtils.consumeQuietly(httpEntity);return '重跑'; } //實體 httpEntity = response.getEntity(); String searchListStr = EntityUtils.toString(httpEntity,'GBK').replaceAll('米', '米'); String allData = (String) JSONObject.parseObject(searchListStr).get('d'); // 字符串值中間含雙引號的替換處理 String s = allData.replaceAll('{'','{’') .replaceAll('':'', '’:’') .replaceAll('','', '’,’') .replaceAll('':', '’:') .replaceAll(','', ',’') .replaceAll(''}', '’}') .replaceAll(''', '') .replaceAll('’', ''') .replaceAll('<br />', '') .replaceAll('t', '') .replaceAll('', '?'); JSONObject jsonData = JSONObject.parseObject(s); JSONArray jsonContent = jsonData.getJSONArray('orgList'); searchListStr = null; allData = null; s = null; if (jsonContent==null || jsonContent.size()<1) {return '重跑'; } System.out.println(jsonContent.toJSONString()); return '爬取'; } catch (Exception e) { e.printStackTrace(); return '重跑'; } finally{ EntityUtils.consumeQuietly(httpEntity); } } private String getPage() { return page; } private void setPage(String page) { this.page = page; }}

補充知識:JAVA利用HttpClient發送post請求,將請求數據放到body里

我就廢話不多說了,大家還是直接看代碼吧~

/** * post請求 ,請求數據放到body里 * @param url 請求地址 * @param bodyData 參數 * @author wangyj * @date 2019年4月20日 */ public static String doPostBodyData(String url, String bodyData) throws Exception{ String result = ''; CloseableHttpClient httpClient = null; CloseableHttpResponse response = null; try { HttpPost httpPost = getHttpPost(url, null); // 請求地址 httpPost.setEntity(new StringEntity(bodyData, Encoding)); httpClient = getHttpClient(); // 得到返回的response response = httpClient.execute(httpPost); HttpEntity entity = response.getEntity(); result = getResult(entity, Encoding); } catch (Exception e) { throw e; } finally { // 關閉httpClient if (null != httpClient) {httpClient.close(); } // 關閉response if (null != response) {EntityUtils.consume(response.getEntity()); // 會自動釋放連接response.close(); } } return result; }

以上這篇java 實現通過 post 方式提交json參數操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品视频一二| 成人福利视频| 国产拍在线视频| 精品中文在线| 精品久久精品| 麻豆国产在线| 在线看片不卡| 午夜欧美视频| 亚洲永久字幕| 婷婷激情图片久久| 亚洲一区二区动漫| 一区二区日韩免费看| 日韩欧美中文字幕一区二区三区 | 国产精品日韩| 欧美亚洲三区| 欧美啪啪一区| 国产麻豆精品| 麻豆精品国产91久久久久久| 精品视频99| 日韩一区电影| 亚洲一区网站| 日韩精品五月天| 国产精品毛片久久久| 青青在线精品| 麻豆极品一区二区三区| 麻豆视频在线看| 亚洲免费高清| 日本三级亚洲精品| 久久久久观看| 久久久噜噜噜| 男人操女人的视频在线观看欧美| 日韩精品一区二区三区中文字幕| 国产精品va| 久久久人人人| 天堂va欧美ⅴa亚洲va一国产| 国产日本亚洲| 日韩成人a**站| 国产视频一区三区| 日韩中文字幕视频网| 国产精品色在线网站| 国产综合色区在线观看| 一区二区三区午夜视频| 日韩在线观看一区| 日韩一区精品| 精品久久国产一区| 国精品一区二区三区| 久久福利精品| 国产激情欧美| 欧美精品一区二区三区精品| 蜜臀91精品一区二区三区| 国产精品免费99久久久| 久久国产亚洲| 91精品国产自产精品男人的天堂 | 国产一区欧美| 奇米狠狠一区二区三区| 天堂8中文在线最新版在线| 首页亚洲欧美制服丝腿| 精品日韩一区| 三级欧美韩日大片在线看| 久久精品五月| 久久不射网站| 亚洲国产成人二区| 香蕉久久一区| 91tv亚洲精品香蕉国产一区| 亚洲伊人精品酒店| 国产91欧美| 久久亚洲美女| 成午夜精品一区二区三区软件| 鲁大师影院一区二区三区| 欧美激情在线精品一区二区三区| 麻豆一区在线| 午夜在线视频观看日韩17c| 美腿丝袜亚洲三区| 在线国产一区二区| 久久婷婷国产| 免费成人在线影院| 亚洲人成在线网站| 日韩av电影一区| 欧美日韩中文一区二区| 天海翼精品一区二区三区| 五月激情久久| 国产精品sss在线观看av| 99国产精品视频免费观看一公开 | 蜜臀久久久99精品久久久久久| 国产在线观看91一区二区三区| 亚洲久久在线| 精品日韩毛片| 日韩精品dvd| 奇米狠狠一区二区三区| 99日韩精品| 成人午夜国产| 精品国产亚洲一区二区三区| 日本一区二区中文字幕| 欧美日韩免费观看一区=区三区| 精品视频自拍| 国产精品亚洲四区在线观看| 亚洲精品动态| 久久精品电影| 亚洲tv在线| 激情91久久| 久久久久久久久丰满| 黄色网一区二区| 国产伦精品一区二区三区在线播放| 欧美日韩激情| 日韩毛片视频| 日本一二区不卡| 免费在线亚洲欧美| 国产精品一区二区99| 日韩欧美久久| 亚洲狼人精品一区二区三区| 亚洲综合另类| 亚洲一区国产一区| 久久亚洲风情| 蜜桃免费网站一区二区三区 | 天堂√中文最新版在线| 久久久久免费| 国产自产自拍视频在线观看| 国产探花在线精品| 91亚洲精品视频在线观看| 日韩中文字幕无砖| 午夜性色一区二区三区免费视频| 蜜臀va亚洲va欧美va天堂| 久久国产福利| 免费观看在线色综合| 亚洲精品高潮| 日本欧美韩国一区三区| 国产日韩三级| 国产精品第十页| 九九99久久精品在免费线bt| 精品免费av| 国产精品a级| 国产免费av国片精品草莓男男| 视频一区二区三区入口| 99re国产精品| 天堂成人免费av电影一区| 另类亚洲自拍| 视频一区中文字幕精品| 久久国产精品色av免费看| 国产视频网站一区二区三区| 国产日产精品_国产精品毛片 | 国产精品香蕉| 精品久久久久久久| 日韩欧美一区免费| 日韩午夜在线| 日韩一区二区三区精品| 国产亚洲字幕| 麻豆精品久久久| 欧美日韩视频免费观看| 91成人超碰| 一二三区精品| 国产精品视频一区二区三区| 久久精品网址| 欧美影院三区| 蜜臀国产一区二区三区在线播放| 91精品美女| аⅴ资源天堂资源库在线| 99久久www免费| 亚洲伊人精品酒店| 国产精品传媒麻豆hd| 麻豆mv在线观看| 91九色精品| 日韩激情一二三区| 精品国产麻豆| 欧美成人综合| 日韩av中文字幕一区二区 | 午夜精品成人av| 亚洲自拍另类| 美女精品一区二区| 久久一区二区三区电影| 一区二区91| 色婷婷色综合| 欧美日韩国产精品一区二区亚洲| 亚洲欧美日本国产| 欧美精品成人| 亚洲男女av一区二区| 国产精品videossex| 蜜桃国内精品久久久久软件9| 婷婷成人av| 偷拍精品精品一区二区三区| 亚洲精品裸体| 成人精品久久| 蜜臀久久99精品久久久画质超高清| 久久婷婷国产| 蜜臀av国产精品久久久久| 手机在线电影一区| 免费久久精品视频| 国产精品久久久久蜜臀| 亚洲综合小说| 精品日韩在线| 免费观看在线色综合| 国产 日韩 欧美 综合 一区| 蜜桃一区二区三区在线| av免费不卡国产观看| 四虎在线精品| 欧美亚洲国产精品久久| 国产色噜噜噜91在线精品 | 久久美女性网| 国产欧美日韩精品一区二区免费 | 亚洲aa在线| 群体交乱之放荡娇妻一区二区|