『壹』 android nanohttpd怎麼實現http請求
下面我就結合Android使用,目前我將其放在了Server中。
public class MainService extends Service {
private HttpServer mHttpServer = null;//這個是HttpServer的句柄。
.............
@Override
public void onCreate() {
//在這里開啟HTTP Server。
mHttpServer = new HttpServer(8092);
try {
mHttpServer.start();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onDestroy() {
//在這里關閉HTTP Server
if(mHttpServer != null)
mHttpServer.stop();
}
...............
『貳』 在Android中使用NanoHTTPD,一個輕量級的HTTP SERVER,2.2和2.3的系統運行正常,為什麼3.0和4.0無法使用
SDK8以上的據說127.0.0.1這個樣的IP請求本地不會響應了,異常拋在native層。比如谷歌新出的那個PAD搭載4.2的ROM據說就不能在響應了,stackoverflow上有人遇到過。但是我確實沒遇到。4.0以下的手機上運行正常。4.1的貌似也挺正常的。暫時沒遇到不能用的。
『叄』 android跳轉http連接超時原因
網路請求超時。Android是一種基於Linux內核的自由及開放源代碼的操作系統,http是互聯網上應用最為廣泛的一種網路協議。android跳轉http連接超時原因是網路請求超時。只需重新啟動網路即可。
『肆』 Android手機搭建HTTP/WEB伺服器環境教程
這一陣感覺玩手機玩膩了,VPS也玩膩了,瞬間感覺啥都玩膩了。前幾天閑著無聊,看到了手機上的超級終端,心想:安卓底層不也是Linux么?於是就用超級終端wget了一個文件,成功了!吼吼,於是下一個想法就是能不能在手機上搭建一個WEB環境???
想到就開始各種搜,發現安卓使用的Linux並不屬於任何發行版本,看來使用傳統的建站方式不行了。繼續搜索,發現谷歌商店裡有一個集成lighttpd+php+mysql+phpmyadmin環境的APK,哈哈,這下好了。當然,如果只裝上這個APK只能在本地測試,無法使用公網訪問,所以,經過我各種搜,終於有了這一篇文章,毫不客氣的說,這絕對是全網首發,至少不用讓你再像我一樣各種搜了。
現在的手機硬體已經很強大了,¥1999就能買到4核1.5G,2G內存的手機,這幾乎能滿足像我這樣的小站的需求了。硬體有了,集成環境的APK也有了,就剩下公網訪問了。
第一:需要一部安卓手機,至少600MHZ的CPU,256內存,手機需要ROOT,沒有ROOT的話,不能使用80埠。
第二:下載我提供的集成環境的APK文件(這里)解壓密碼:www.facebooksx.com,KSWEB在谷歌商店裡是收費的,免費試用5天,我提供的這個文件為網友破解版,免費試用55年,夠你折騰了。
第三:需要一個支持路由功能的路由器,以及一個花生殼賬號。
1.首先在手機上安裝APK,(如果手機里有什麼防火牆之類的,請關閉,否則不能使用WIFI地址訪問),然後點開KSWEB,首次開啟,會解壓縮文件,然後會提示重啟,重啟後,就能夠看到mysql啟動和相應信息了。
2.點options進入設置,然後勾選上root許可權,這樣就可以更改埠為80了。然後回到主界面,點phpmyadmin然後就會自動下載了。下載成功後,可以在手機瀏覽器里輸入127.0.0.1,就可以看到相關信息。雖然版本有些老,但是相當簡便啊親……
如果你只想在手機上測試,那麼到這里就結束了。如果想讓公網訪問手機,
那麼就需要使用DDNS(動態域名解析)來支持。
3.使用oray護照,登錄花生殼,系統會自動分配給你一個免費域名,用這個域名來訪問手機。登錄你的路由器,點擊“轉發規則”,選擇“虛擬伺服器”,埠填寫80,IP地址填寫你手機WIFI的IP地址,保存,如圖所示。
4.保存後,點擊“動態DNS設置”,賬號密碼就是你oray的通行證,點登錄,如果成功了,就會自動識別你的免費域名。如圖所示,然後保存就行了。
這樣的話,直接輸入域名就可以訪問到手機了,只要你的路由器不關閉,就可以一直使用了。下面是我的演示:
至此,你的手機就可以當成一個獨立的VPS來使用了,建議使用閑置的手機來玩,它有以下幾個好處:裝13,夠折騰,省電省資源,廢物利用,數據更安全,便攜,國內速度一流……還有,查域名的時候貌似是獨立IP,這樣網路會不會喜歡呢?
『伍』 Android中允許開啟HTTP請求
Android 7後默認禁止了非HTTPS請求,如果在請求中使用HTTP會報如下錯誤:
我們可以在Manifest的Application節點配置 networkSecurityConfig 屬性來自定網路安全策略,如下:
在 \res\xml 目錄下新建 network_security_config.xml 文件:
更多具體描述可以參考 官方文檔
『陸』 說說在 Android 中如何發送 HTTP 請求
客戶端會向伺服器發出一條 HTTP 請求,伺服器收到請求後會返回一些數據給客戶端,然後客戶端再對這些數據進行解析與處理。
可以使用 HttpURLConnection(官方推薦) 來發送 HTTP 請求。
布局文件:
活動類:
因為在 Android 中不允許在子線程中執行 UI 操作,所以我們通過 runOnUiThread 方法,切換為主線程,然後再更新 UI 元素。
最後記得聲明網路許可權哦:
OKHttp 是一個處理網路請求的開源項目,目前是 Android 最火熱的輕量級框架,由移動支付 Square 公司貢獻(該公司還貢獻了Picasso)。希望替代 HttpUrlConnection 和 Apache HttpClient。
首先引入 OKHttp 庫依賴:
然後點擊 Android Studio 右上角的 Sync Now,把庫真正載入進來。
修改活動類:
可以在 build() 方法之前連綴很多其他方法來豐富這個 Request 對象。
如果是 POST 請求,那麼需要構建 RequestBody 對象,形如:
修改活動類:
注意: new Thread(...) 之後需要執行 start() 才會啟動線程哦。
運行:
可以看出,OKHttp 比 HttpURLConnection 更強大:同一個網址,OKHttp 能夠正確地返回響應數據哦O(∩_∩)O哈哈~
『柒』 android能不能使用http
有一些有有一些沒有代理設置沒有的可以通過刷系統刷個出來,有的在WIFI裡面設置連接哪裡的下方就有個代理設置,我的MT870 安卓2.34就有 里程碑2 安卓2.2就沒有 如果手機自帶的WIFI里沒有代理設置這個選項的話給你個方法可以下載這個軟體:TransProxy.專門提供給沒有代理設置的安卓手機使用的,是一個代理設置軟體。設置:type(代理服務類型),host(代理伺服器IP地址),port(埠號),之後將最上邊的proxy的勾打上即可. 經測試發現,通過代理只支持網頁瀏覽,優酷視頻,開心網,各種微博軟體.不支持的主要是即時聊天工具,如QQ,MSN,飛信,股票軟體. 注意:需要在獲得ROOT許可權的情況下才能正常使用.
『捌』 android9.0以上http請求失敗的解決方法
在android9.0以上由於安全性高了,所有不做處理http不能使用,有3中解決方法
1.最簡單的方法降級targetSdkVersion的版本
將 targetSdkVersion 將到27或27以下
2.伺服器請求http改為https (推薦)
推薦使用這個方法,畢竟https的安全行高
3.兼容http請求
(1):在清單文件中設置networkSecurityConfig屬性
(2)在res/xml文件夾下創建network_security_config.xml