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

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java中伪造referer来获取数据

發(fā)布時(shí)間:2025/4/5 java 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java中伪造referer来获取数据 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

偽造方法,參考代碼:

public class HelloA {private String large = new String(new char[100000]); public String getSubString() { return this.large.substring(0,2); } @Testpublic void test(){InputStream in = responseInputStream();try {if(in != null){FileOutputStream out = new FileOutputStream("C:\\Users\\User\\Desktop\\test.zip");writeInTxt(in,out);}} catch (FileNotFoundException e) {e.printStackTrace();} }public void writeInTxt(InputStream in, FileOutputStream out) {//char[] bytes = new char[1024];byte[] bytes = new byte[1024];int len = 0;try {//InputStreamReader isr = new InputStreamReader(in,"UTF-8");//OutputStreamWriter osw = new OutputStreamWriter(out,"UTF-8");while((len = in.read(bytes)) !=-1){out.write(bytes, 0, len);}} catch (IOException e) {e.printStackTrace();}}public InputStream responseInputStream(){InputStream in = null;/*String cookie="BAIDUID=4AB62207ED7EE9F7D5639F99FD2C93FB:FG=1; PSTM=1460857252; "+"BIDUPSID=187A5BC1E5DD0DEF05E21F73A29835EF; _5t_trace_sid=1ea40703c286c635041c90d9a5f70580; "+"_5t_trace_tms=1; H_PS_645EC=5b3dg%2Bo1fZjiciiEjCjOit34qHNoqmVzbHSdPYr%2FQo9iGTj%2BpjOjY0%2FE7%2Bo; "+"BD_CK_SAM=1; BD_HOME=0; H_PS_PSSID=19638_19289_1439_19713_19806_19559_19808_19843_19902_17001_15557_11849; BD_UPN=12314353";*/try {HttpURLConnection conn = (HttpURLConnection) new URL("http://www.baidu.com/").openConnection();conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36)");conn.setRequestProperty("Accept-Encoding", "gzip, deflate, sdch");conn.setRequestProperty("referer", "http://www.baidu.com/");//conn.setRequestProperty("Cookie", cookie);conn.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8");conn.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");conn.setRequestMethod("GET");conn.setDoInput(true);int respcode=conn.getResponseCode();if(respcode == 200)in = conn.getInputStream();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return in;} }

????通過(guò)上述代碼就可以實(shí)現(xiàn)與HttpClient工具相似的功能,偽造referer來(lái)發(fā)送請(qǐng)求,獲取響應(yīng),這里要注意的是返回的數(shù)據(jù)是zip格式的。或者直接寫(xiě)C:\\Users\\User\\Desktop\\test,test后面不帶zip等任何后綴,最后也能得到自己想要的響應(yīng)的數(shù)據(jù)。

????因此,分步走的頁(yè)面,比如員工注冊(cè),分為三步走,第一步:校驗(yàn)識(shí)別號(hào)和用戶(hù)名,校驗(yàn)完成以后調(diào)到第二個(gè)頁(yè)面,校驗(yàn)手機(jī)號(hào),手機(jī)號(hào)校驗(yàn)完成后,跳到第三個(gè)頁(yè)面輸入會(huì)員名的頁(yè)面完成注冊(cè)。為防止模擬器模擬參數(shù)請(qǐng)求,直接進(jìn)到第二個(gè)頁(yè)面,那么可以在后臺(tái)處理方法里面使用map來(lái)存儲(chǔ),用戶(hù)名作為key,1或2作為value,再寫(xiě)一個(gè)攔截第二個(gè)和第三個(gè)頁(yè)面的過(guò)濾器。在doFilter方法里面,根據(jù)這個(gè)map的value值來(lái)判斷是不是第一個(gè)頁(yè)面轉(zhuǎn)過(guò)來(lái)的。

轉(zhuǎn)載于:https://my.oschina.net/wliming/blog/673401

總結(jié)

以上是生活随笔為你收集整理的Java中伪造referer来获取数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。