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

您的位置:首頁技術(shù)文章
文章詳情頁

java 實現(xiàn)通過 post 方式提交json參數(shù)操作

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

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

而且該網(wǎng)站只接受post請求,對提交的參數(shù)也只接受json格式,否則請求失敗。

現(xiàn)將通過 post 方式提交json參數(shù)的方法記錄如下:

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; // 爬取初始頁數(shù) 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 參數(shù) 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('數(shù)字格式錯誤'); } catch (UnsupportedEncodingException e) { e.printStackTrace(); throw new UnsupportedEncodingException('不支持的編碼集'); } } /** * 爬取搜索列表 * @param page * @return */ private String crawlList(HttpRequestBase request){ int statusCode = 0; // 下面兩種方式都可以用來創(chuàng)建客戶端連接,相當于打開了一個瀏覽器 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 '重跑'; } //打印狀態(tài) 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發(fā)送post請求,將請求數(shù)據(jù)放到body里

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

/** * post請求 ,請求數(shù)據(jù)放到body里 * @param url 請求地址 * @param bodyData 參數(shù) * @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 { // 關(guān)閉httpClient if (null != httpClient) {httpClient.close(); } // 關(guān)閉response if (null != response) {EntityUtils.consume(response.getEntity()); // 會自動釋放連接response.close(); } } return result; }

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

標簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美肉体xxxx裸体137大胆| 黑人精品一区| 9国产精品视频| 日韩制服丝袜av| 人人精品久久| 久久久久久久欧美精品| 综合亚洲视频| 欧美日韩调教| 久久亚洲精精品中文字幕| 都市激情国产精品| 亚洲福利精品| 天海翼精品一区二区三区| 久久精品免视看国产成人| 日韩欧美一区二区三区在线观看| 自拍日韩欧美| 欧美综合社区国产| 欧美二三四区| 最新国产精品久久久| 麻豆精品新av中文字幕| 欧美sss在线视频| 中文字幕av亚洲精品一部二部| 国产精品九九| 欧美在线亚洲综合一区| 国产精品天堂蜜av在线播放| 神马午夜久久| 免费精品视频最新在线| 国产精品1区| 999国产精品| 日韩福利视频一区| 99久久亚洲精品| 青青青国产精品| 久久精品一区二区不卡| 日韩高清成人在线| 色综合www| 国产精品片aa在线观看| 亚洲综合二区| 国产在线日韩精品| 在线精品国产亚洲| 亚洲永久av| 日韩av一区二区在线影视| 韩国三级一区| 偷拍亚洲精品| 亚洲欧美一区在线| 久久精品国产999大香线蕉| 视频精品一区二区| 日本不卡免费高清视频在线| 日韩精品午夜视频| 亚洲电影在线一区二区三区| 久久99视频| 蜜桃视频在线观看一区| 美女网站视频一区| 国产极品模特精品一二| 蜜芽一区二区三区| 91精品推荐| 国产一区三区在线播放| 日韩免费精品| 国产高清一区二区| 日韩中文首页| 精品视频久久| 日韩成人在线看| 日韩亚洲在线| 国产美女高潮在线观看| 国产精品a级| 日韩欧美中文在线观看| 99香蕉国产精品偷在线观看| 成人福利av| 精品香蕉视频| 国产精品免费99久久久| 亚洲精品福利| 久久亚洲国产精品一区二区| 快播电影网址老女人久久| 麻豆国产精品| 国产高清精品二区| 日本午夜精品一区二区三区电影 | 免费视频久久| 国户精品久久久久久久久久久不卡| 精品美女久久| 国产精品乱战久久久| 日韩美女国产精品| 在线视频亚洲欧美中文| 爽爽淫人综合网网站| 久久蜜桃精品| 久久久噜噜噜| 欧美 日韩 国产一区二区在线视频| 欧美13videosex性极品| 午夜av不卡| 国产麻豆久久| 欧美亚洲国产一区| 影音先锋国产精品| 亚洲欧美久久久| 性欧美精品高清| 综合激情网...| 日韩精品中文字幕吗一区二区| 日韩欧美高清一区二区三区| 日韩精品视频网站| 国产欧美日韩一级| 国产日本精品| 国产福利一区二区精品秒拍| 美女视频一区在线观看| 精品色999| 国产超碰精品| 亚洲国产一区二区在线观看| 久久av在线| 色8久久久久| 国产精品久久久网站| 国产精品99一区二区三区| 精精国产xxxx视频在线播放 | 久久国产电影| 日韩一级欧洲| 蜜臀久久久久久久| 奇米色欧美一区二区三区| 国产精品伊人| 中文字幕在线高清| 日韩午夜av在线| 日韩视频1区| 国产精品丝袜在线播放| 特黄毛片在线观看| 亚洲欧美日韩一区在线观看| 日韩美女国产精品| 成人在线免费观看网站| 激情欧美丁香| 少妇精品久久久一区二区| 欧美黑人做爰爽爽爽| 久久九九精品| 日韩欧美高清一区二区三区| 国产精品激情电影| 成人羞羞在线观看网站| 视频一区中文字幕| 国产美女撒尿一区二区| 天堂中文av在线资源库| 亚洲欧美网站| 美女久久久久久| 国精品一区二区| 国产欧美综合一区二区三区| 欧洲av不卡| 日韩在线成人| 日韩精品永久网址| 亚洲精品国产日韩| 久久男人av资源站| 亚洲人成网77777色在线播放| 国产极品久久久久久久久波多结野| 色综合www| 国产欧美日韩一级| 五月婷婷六月综合| 国产日韩高清一区二区三区在线| 成人羞羞视频在线看网址| 日韩不卡一区二区三区| 99久久精品网| 国产乱人伦丫前精品视频 | 成人国产精品一区二区网站| 午夜在线精品偷拍| 成人影视亚洲图片在线| 中文字幕日韩高清在线| 国产在视频一区二区三区吞精| 亚洲欧美日本日韩| 国产福利电影在线播放| 日本欧美一区二区在线观看| 日韩国产网站| 欧美专区一区| 亚洲欧美日韩视频二区| 麻豆网站免费在线观看| 欧美片第1页综合| 久久国产成人| 久久精品免费一区二区三区| 国产精选久久| 亚洲一区黄色| 日韩免费福利视频| 麻豆精品久久久| 亚洲一区导航| 极品日韩av| 午夜久久中文| 美女精品久久| 日韩av一区二| 日韩中文字幕不卡| 亚洲手机在线| 日本不卡免费高清视频在线| 国产精品久一| 久久狠狠亚洲综合| 蜜臀av性久久久久蜜臀aⅴ四虎 | 超碰超碰人人人人精品| 国产精品第十页| 亚洲精品美女91| 久久99伊人| 欧美大黑bbbbbbbbb在线| 国产精品久久久久久久免费观看 | 亚洲视频二区| 欧美在线影院| 成人精品天堂一区二区三区| 国产一区二区色噜噜| 日韩中文字幕不卡| 伊人精品视频| 精品在线播放| 久久在线电影| 欧美手机在线| 激情六月综合| 99热精品久久| 久久国产亚洲| 亚洲韩日在线| 蜜桃国内精品久久久久软件9| 不卡福利视频|