當前位置:首頁 » 操作系統 » 安卓取網頁源碼

安卓取網頁源碼

發布時間: 2022-06-01 06:11:38

① 如何看到一個APP應用的源代碼

一、安卓APP

用android-killer可以反編譯apk,比較方便,不過只能看到smail文件,學習一點smail,你可以看明白他的源代碼的意思,如果有殼的話,先改apk後綴後為zip,找到加殼的so文件,一般如名字中帶xxxprotect.so 用網路,360,騰訊廠商加固的話,也都有對應特點,然後把這個so文件用IDA pro打開,找到它的關鍵加密演算法。找到後,一版是不讓進加密演算法,直接return。就可去殼,去了殼之後,再進行重打包簽名,測試下。
二、ios上的app一般走如下流程
1、 拿個越獄機-下好工具
2、 去越獄平台下個想分析的應用(或者去app store下,用解密工具解密一下)
3、 導入reveal分析頁面,得到想要的知道的具體視圖類或者大致范圍
4、 分析class-mp中,找到想要的類和函數
5、 在IDA或者Hopper中找到具體函數,查看匯編邏輯
6、 修改相應的邏輯,達到篡改目的,重新打包

② Android studio中,用get方法獲取網頁源代碼,怎麼做

< form id="form1" method="get" runat="server"> get方法提交表單 < div> 你的名字< asp:TextBox ID="name" runat="server">< /asp:TextBox>< br /> < br /> 你的網站< asp:TextBox ID="website" runat="server">< /asp:TextBox>< br /> < br /> < br /> < asp:Button ID="Button1" runat="server" Text="send" />< br /> < br /> < br /> 學習request 和 response的用法< br /> < br /> < br /> < /div> < /form> ----------------------------------------------------------------------------------------------------------- < form id="form2" method="post" runat="server"> post方法提交表單 < div> 你的名字< asp:TextBox ID="name2" runat="server">< /asp:TextBox>< br /> < br /> 你的網站< asp:TextBox ID="website2" runat="server">< /asp:TextBox>< br /> < br /> < br /> < asp:Button ID="Button2" runat="server" Text="send" />< br /> < br /> < br /> 學習request 和 response的用法< br /> < br /> < br /> < /div> < /form> 1. get是從伺服器上獲取數據,post是向伺服器傳送數據。 2. get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到。post是通過HTTP post機制,將表單內各個欄位與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。 3. 對於get方式,伺服器端用Request.QueryString獲取變數的值,對於post方式,伺服器端用Request.Form獲取提交的數據。 4. get傳送的數據量較小,不能大於2KB。post傳送的數據量較大,一般被默認為不受限制。 5. get安全性非常低,post安全性較高。但是執行效率卻比Post方法好。 建議: 1、get方式的安全性較Post方式要差些,包含機密信息的話,建議用Post數據提交方式; 2、在做數據查詢時,建議用Get方式;而在做數據添加、修改或刪除時,建議用Post方式

③ android studio 怎麼抓去網頁媒體資源

首先,也是很重要的一步,就是下載jar包,丟到libs裡面
Android studio玩家可以不下載jar包,在Gradle裡面加入
dependencies {undefined
compile 'org.jsoup:jsoup:1.9.2'
}復制代碼
然後,找到你心儀的網頁去抓取數據
這里我們我繼續使用美食的網頁,然後右鍵查看網頁源碼,或者按F12,接下來可以看到一大堆標簽:
Paste_Image.png
找到需要的,例如上圖這個 「美食天下」 ,可以看到 「美食天下」 是放在以
為節點的 中,要獲取這個「美食天下」,代碼可以這樣寫:
try {undefined
//從一個URL載入一個Document對象。
Document doc = Jsoup.connect("http://home.meishichina.com/show-top-type-recipe.html").get();
//選擇「美食天下」所在節點
Elements elements = doc.select("div.top-bar");
//列印 a標簽裡面的title
Log.i("mytag",elements.select("a").attr("title"));
}catch(Exception e) {undefined
Log.i("mytag", e.toString());
}復制代碼
接下來看一下列印出來的結果:
Paste_Image.png
Jsoup.connect(String url)方法從一個URL載入一個Document對象。如果從該URL獲取HTML時發生錯誤,便會拋出 IOException,應適當處理。
一旦擁有了一個Document,你就可以使用Document中適當的方法或它父類 Element和Node中的方法來取得相關數據。
public class Element extends Node
public class Document extends Element復制代碼
很多文章都是說一大堆原理然後放出一個簡單的例子,就跟我上面簡單的打了一個log一樣,然後發現用起來的時候是沒那麼簡單的。為了大家能不看文檔也可以直接使用(並且看不懂那一大堆標簽也可以用),我決定再舉一個例子(其實也就是比上面多打幾個log):
下圖紅色框框是我們要獲取的數據,可以看到他們對應的節點就是藍色圓圈裡面的
Paste_Image.png
廢話不多說上代碼
try {undefined
//還是一樣先從一個URL載入一個Document對象。
Document doc = Jsoup.connect("http://home.meishichina.com/show-top-type-recipe.html").get();
//「椒麻雞」和它對應的圖片都在復制代碼

Elements titleAndPic = doc.select("div.pic");
//使用Element.select(String selector)查找元素,使用Node.attr(String key)方法取得一個屬性的值
Log.i("mytag", "title:" + titleAndPic.get(1).select("a").attr("title") + "pic:" + titleAndPic.get(1).select("a").select("img").attr("data-src"));
//所需鏈接在
中的a標簽裡面
Elements url = doc.select("div.detail").select("a");
Log.i("mytag", "url:" + url.get(i).attr("href"));
//原料在

Elements burden = doc.select("p.subcontent");
//對於一個元素中的文本,可以使用Element.text()方法
Log.i("mytag", "burden:" + burden.get(1).text());
}catch(Exception e) {undefined
Log.i("mytag", e.toString());
}
大功告成,接下來看看log
Paste_Image.png
沒有問題!那麼教學可以結束了!
注意:
Jsoup.connect(String url)方法不能運行在主線程,否則會報NetworkOnMainThreadException

④ 游戲軟體怎麼查看源代碼

源代碼是看不成的,因為游戲軟體打包好做成app的話,是沒法看源碼的,雖然存在一些特殊情況下,我們可以推測出exe程序是用什麼程序寫的。但是多數情況下,我們是無法只根據一個exe程序就判斷出來的。

根據exe程序我們是無法直接得到程序的源碼的。雖然也有一些用於逆向工程的辦法,但那不可能把已經是exe的程序反回到它原始的源碼情況。而且這些工具都很難用。你可以用「反編譯」搜到很多工具,但是說實話,即便是這方面的專家,要看懂反編譯以後的程序也不是一件輕松的事情。

⑤ 如何在安卓手機查看html源代碼

網路「查看網頁源碼」,有很多支持查看網頁源碼的在線站點

⑥ 安卓如何實現獲取網頁源代碼

public class GetHtmlCodeActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

TextView textView = (TextView)this.findViewById(R.id.picture_textview);
try {
textView.setText(getPictureData("http://www..com"));
} catch (Exception e) {
Log.e("GetHtmlCodeActivity", e.toString());
Toast.makeText(GetHtmlCodeActivity.this, "網路連接失敗", 1).show();
}
}
//得到圖片的二進制數據
public String getPictureData(String path) throws Exception{
// 類 URL 代表一個統一資源定位符,它是指向互聯網「資源」的指針。
URL url = new URL("http://www..com/");
// 每個 HttpURLConnection 實例都可用於生成單個請求,
//但是其他實例可以透明地共享連接到 HTTP 伺服器的基礎網路
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//設置 URL 請求的方法
conn.setRequestMethod("GET");
//設置一個指定的超時值(以毫秒為單位),
//該值將在打開到此 URLConnection 引用的資源的通信鏈接時使用。
conn.setConnectTimeout(5 * 1000);
// conn.getInputStream()返回從此打開的連接讀取的輸入流
InputStream inStream = conn.getInputStream();// 通過輸入流獲取html數據
byte[] data = readInputStream(inStream);// 得到html的二進制數據
String html = new String(data);
return html;

}
//讀取輸入流中的數據,返回位元組數組byte[]
public byte[] readInputStream(InputStream inStream) throws Exception{
//此類實現了一個輸出流,其中的數據被寫入一個 byte 數組
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
// 位元組數組
byte[] buffer = new byte[1024];
int len = 0;
//從輸入流中讀取一定數量的位元組,並將其存儲在緩沖區數組buffer 中
while ((len = inStream.read(buffer)) != -1) {
// 將指定 byte 數組中從偏移量 off 開始的 len 個位元組寫入此輸出流
outStream.write(buffer, 0, len);
}
inStream.close();
//toByteArray()創建一個新分配的 byte 數組。
return outStream.toByteArray();
}
}

可以看一下這個自己想想哦

⑦ android webview載入某個網頁,之後通過這個網頁調到了另一個頁面,怎麼獲取這個頁面的網址和源碼

mWebView.setWebViewClient(new WebViewClient(){
// 這個方法在用戶試圖點開頁面上的某個鏈接時被調用
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url!=null) {
// 如果想繼續載入目標頁面則調用下面的語句
// view.loadUrl(url);
// 如果不想那url就是目標網址,如果想獲取目標網頁的內容那你可以用HTTP的API把網頁扒下來。
}
// 返回true表示停留在本WebView(不跳轉到系統的瀏覽器)
return true;
}
});

⑧ 如何在安卓手機查看html源代碼

網路「查看網頁源碼」,有很多支持查看網頁源碼的在線站點

⑨ Android 在WebView中通過javascript獲取網頁源碼,並在TextView或者在EditText中顯示問題

webview js之間的交互,項目中馬上用到。

JS調用java代碼效果圖


index.html代碼:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd";><html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" language="javascript"> var share = JSON.stringify({"title": "sinodata",
"desc": "ios",
"shareUrl": "http://www.sinodata.com.cn"
});

function sendInfoToJava(){
window.AndroidWebView.showInfoFromJs(share);
}

<!--在android代碼中調用此方法-->
function showInfoFromJava(msg){
alert("showInfoFromJava:"+msg);
} </script></head><body la><div id='b'> <input onclick="sendInfoToJava()" type="button" value="sendInfoToJava"/></div></body></html>
布局代碼:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.chenjifang.webview.MainActivity"> <Button android:id="@+id/test_btn" android:text="代碼中調用web js代碼傳遞參數" android:layout_width="match_parent" android:layout_height="wrap_content" /> <EditText android:id="@+id/test_edt" android:layout_width="match_parent" android:layout_height="wrap_content" /><WebView android:id="@+id/test_webview" android:layout_width="match_parent" android:layout_height="400dp"></WebView></LinearLayout>
java代碼:

public class MainActivity extends AppCompatActivity {private WebView mWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = (WebView) findViewById(R.id.test_webview); //設置WebView支持JavaScript mWebView.getSettings().setJavaScriptEnabled(true); mWebView.loadUrl("file:///android_asset/index.html"); mWebView.addJavascriptInterface(new JsInterface(this), "AndroidWebView"); //添加客戶端支持 mWebView.setWebChromeClient(new WebChromeClient()); findViewById(R.id.test_btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {
sendInfoToJs(); }
}); } private class JsInterface { private Context mContext; public JsInterface(Context context) { this.mContext = context; } //在js中調用window.AndroidWebView.showInfoFromJs(name),便會觸發此方法。 @JavascriptInterface public void showInfoFromJs(String share) {
Toast.makeText(mContext, share, Toast.LENGTH_SHORT).show(); }
} //在java中調用js代碼 public void sendInfoToJs() {
String msg = ((EditText)findViewById(R.id.test_edt)).getText().toString(); //調用js中的函數:showInfoFromJava(msg) mWebView.loadUrl("javascript:showInfoFromJava('" + msg + "')"); }
總結下,java代碼中要設置webview對javascript的支持,addJavascriptInterface(new JsInterface(this), "AndroidWebView");//這句代碼中的第二個參數是在js訪問方法的地址。
window.AndroidWebView.showInfoFromJs(share);

⑩ 安卓開發如何獲取網頁html源碼

就直接用httpget訪問網頁,得到的就是源碼

熱點內容
博越存儲異常 發布:2025-01-11 01:24:31 瀏覽:916
我的世界還原中國伺服器版圖 發布:2025-01-11 01:18:45 瀏覽:382
pythonopenasfile 發布:2025-01-11 01:17:06 瀏覽:971
hbasejavaapi 發布:2025-01-11 01:11:09 瀏覽:744
我的世界pe版飢餓伺服器 發布:2025-01-11 01:09:39 瀏覽:485
異構資料庫數據同步 發布:2025-01-11 01:09:04 瀏覽:957
c語言三角波 發布:2025-01-11 01:02:11 瀏覽:78
php正則轉義 發布:2025-01-11 01:00:03 瀏覽:691
手拉的箱包上的密碼鎖一般是多少 發布:2025-01-11 00:59:55 瀏覽:8
oppo手機系統更新密碼是多少 發布:2025-01-11 00:56:55 瀏覽:87