Android踩坑日記:Okhttp設定User-Agent你可能沒遇到的坑
Okhttp設定User-Agent你可能沒遇到的坑
Http Header之User-Agent
User-Agent中文名為使用者代理,是Http協議中的一部分,屬於頭域的組成部分,User Agent頁簡稱UA。她是一個特殊字串頭,是一種想訪問網站提供你說使用的瀏覽器型別和版本,作業系統和版本,瀏覽器核心等資訊的標識,使用者所訪問的網站可以顯示不同的排版,而為使用者提供更好的體驗或者進行資訊統計獲取OkHttp正確的User-Agent
Okhttp走的並不是原生的http請求,因此他在header裡面並沒有真正的User-Agent,而是”okhttp/版本號”這樣的字串,因此後臺需要統計資訊,要求傳入正確的User-Agent,那麼我們如何User-Agent並設定給Okhttp?
/**
* 返回正確的UserAgent
* @return
*/
private static String getUserAgent(){
String userAgent = "";
StringBuffer sb = new StringBuffer();
userAgent = System.getProperty("http.agent");//Dalvik/2.1.0 (Linux; U; Android 6.0.1; vivo X9L Build/MMB29M)
for (int i = 0, length = userAgent.length(); i < length; i++) {
char c = userAgent.charAt(i);
if (c <= '\u001f' || c >= '\u007f') {
sb.append(String.format("\\u%04x", (int) c));
} else {
sb.append(c);
}
}
LogUtils.v("User-Agent" ,"User-Agent: "+ sb.toString());
return sb.toString();
}
- 給Okhttp設定User-Agent:
new Request.Builder().url(url).headers(headers2).put(body).removeHeader("User-Agent").addHeader("User-Agent",getUserAgent()).build();
相關推薦
Android踩坑日記:Okhttp設定User-Agent你可能沒遇到的坑
Okhttp設定User-Agent你可能沒遇到的坑 Http Header之User-Agent User-Agent中文名為使用者代理,是Http協議中的一部分,屬於頭域的組成部分,Us
Ubuntu中hadoop踩坑日記:localhost:50070無法訪問
前人有很多經驗,比如防火牆沒有關閉,可以自行百度看看,不在此貼連結了 或者關閉VPN之流 https://blog.csdn.net/pearyangyang/article/details/78065940 但是我用命令 ufw disable 發現還是無法訪問,最後參考
Flutter踩坑日記:接入現有iOS項目
ati pen prope eve 分享 reg cgrect ole host 之前搞的Flutter版工具鏈已經弄完了,感興趣的朋友可以圍觀下,Android版本dio庫(v2.0.14)發送網絡請求老是報錯,去官方提了issue還沒回,於是今天搞一下把Flutter模
動態ip代理:反網路爬蟲之設定User-Agent的常規方法
動態ip代理:反網路爬蟲之設定User-Agent的常規方法 爬蟲過程中的反爬措施非常重要,其中設定隨機 User-Agent 是一項重要的反爬措施。常規情況,比較方便的方法是利用 fake_useragent包,這個包內建大量的 UA 可以隨機替換,這比自己去搜集羅列要方便很多,下面來看一下如何操作。
android網路操作I: OkHttp, Volley以及Gson
寫這篇文章的動機 在安卓專案中有一個問題可能無法避免:網路。不管你是載入圖片,請求API資料還是從因特網上獲得一個位元組,你都是在使用網路。 鑑於網路在安卓中的重要性與基礎性,當今安卓開發者面臨的問題之一就是使用何種解決方案。有許多優秀的庫,你可以用各種方式把一個用在另一
VUEJS入坑日記.2 -DatePicker設定預設日期
iview中DatePicker 的value屬性和v-modal不能同時使用。 <FormItem prop="s_date" label="出生日期:"> <DatePicker type="date" format="yyy
httpurlconnection設定user-agent引數
URL myUrl = new URL(searchURL); URLConnection myConn = (HttpURLConnection)myUrl.openConnection(); myConn.setRequestProperty("User-agent",
Nginx反爬蟲攻略:禁止某些User Agent抓取網站
我們都知道網路上的爬蟲非常多,有對網站收錄有益的,比如百度蜘蛛(Baiduspider),也有不但不遵守robots規則對伺服器造成壓力,還不能為網站帶來流量的無用爬蟲,比如宜搜蜘蛛(YisouSpider)(最新補充
java給爬蟲設定User-Agent(繞過最表面的反爬蟲機制)
今天在爬my電影評分時發現訪問被控制,但瀏覽器依舊能訪問,查閱後得知因為java程式與瀏覽器訪問不同,一些採取了簡單採反爬蟲機制的網站可以拒絕這些小爬蟲的訪問。my電影也用了不少反爬蟲策略,比如說票房、評分人數都轉換了編碼讓你不好直接爬取,但我目前不需要那一部分。在給java
程式設計師養生心得:除了保溫杯+枸杞,你可能還需要它!
程式設計師們一天要面對電腦螢幕10小時以上,一行行密密麻麻的程式碼在眼前轉來轉去,工作時精神高度
踩坑日記--poi操作word設定表格列寬
今天遇到一個問題,使用poi操作word,生成的表格逐列設定列寬無效。一直找不出原因,網上搜索也沒人提醒說是什麼原因,最後發現是未設定列自動伸縮(tblWidth.setType(STTblWidth.
填坑總結:通過selector的android:state_checkable和android:state_checked設定RadioButton的背景色切換遇到的問題
目的(需求): 想通過selector的android:state_checkable和android:state_checked不可選按鈕為灰,可選沒選中為白, 可選已選中為紅的效果。 layout的xml程式
OkHttp踩坑記:為何 response.body().string() 只能呼叫一次?
想必大家都用過或接觸過 OkHttp,我最近在使用 Okhttp 時,就踩到一個坑,在這兒分享出來,以後大家遇到類似問題時就可以繞過去。 只是解決問題是不夠的,本文將 側重從原始碼角度分析下問題的根本,乾貨滿滿。 1.發現問題 在開發時,我通過構造 O
Android踩坑:小數點變逗號,DecimalFormat格式化資料跟語言環境有關
在專案裡面需要將byte轉換成KB MB GB,並且保留兩位小數,用到了DecimalFormat來格式化資料,如下: DecimalFormat df = new DecimalFormat("0.00"); return df.format(value
AI相關 TensorFlow -卷積神經網絡 踩坑日記之一
一個 模糊 結果 隊列 二維 圖片路徑 降維 支持 日記 上次寫完粗淺的BP算法 介紹 本來應該繼續把 卷積神經網絡算法寫一下的 但是最近一直在踩 TensorFlow的坑。所以就先跳過算法介紹直接來應用場景,原諒我吧。 TensorFlow 介紹 TF是google
Java踩坑筆記:ObjectIOStream與IOStream的各種裝飾器(先挖個坑,以後再來詳細填)
ted objects lose val read thread 環境 valid 序列化對象 Java的序列化和ObjectStream真是一個大坑。。 先不說多線程環境下的問題,在單線程裏,一個Socket只能保持一個ObjectOutputStream,原因好像是
[轉]Spark 踩坑記:數據庫(Hbase+Mysql)
cep 直接 策略 https rds 但是 更新 base ID https://cloud.tencent.com/developer/article/1004820 Spark 踩坑記:數據庫(Hbase+Mysql) 前言 在使用Spark Streaming的過程
Office Web addin 踩坑計:替換後臺網站為MVC框架時遇到的問題
調試運行 pro add 9.png info img 但是 office 新建 Office Web Addin 模板程序的後臺本質上是一個網站,你在調試的時候可以發現它的進程是一個32位的IE進程 所以可以把它替換成Asp.net的網站。 替換方法: 1.點擊WordR
SpringCloud踩坑日記 (1) - 使用ip註冊到eureka
pre true key值 pad 取ip fault ins default instance 服務提供者使用主機名註冊到eureka改為使用ip註冊到eureka eureka: client: service-url: defaultZone:
踩坑日記
開設此專欄的原因 因為日常踩坑,踩坑之後總是要除錯很久,所以開設此專欄,便於記住踩過的坑。 優先順序問題 2018.11.2 problem: P2607 [ZJOI2008]騎士 details: 注意,^的優先順序是小於\(==\)的。 所以要判斷\(x\)^\(y\)是不是等於\(z\)