[問題] 增加某網址(url)的資料後送出(post)?
就是增刪修某個別人的網頁(.jsp.php.asp)的資料再送出
請問是可行的嗎?
某他人網頁 --> 某他人網頁 -->執行某他人網頁POST-->手機顯示POST後的網頁
+手機app的資料
因為沒辦法單純用url改name=value,是想改某網頁比如option selected的項目
因為我翻了幾天的資料,有找到幾個方案但是都還沒成功
想請問這幾個方向哪個是正確的?
1.httpUrlConnect post
步驟是讀取raw html之後,加上javascript之類的改值語法
遇到問題:步驟有點複雜,所以還沒成功,而且讀取raw html
之後真的能執行比如asp的post?
2.Jsoup
import jar後用Jsoup找到值(比如id)然後改值(value)
遇到問題:好像只能改html和php,而且和1一樣不確定能執行post,
也還沒找到能改option的方式
總覺得應該沒有這麼複雜...只是想在某網頁添加手機上的資料後再照樣送出,
真的有這麼複雜嗎
....Orz.......
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.181.235
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1448500621.A.275.html
→
11/26 09:25, , 1F
11/26 09:25, 1F
→
11/26 09:26, , 2F
11/26 09:26, 2F
→
11/26 09:27, , 3F
11/26 09:27, 3F
→
11/26 09:30, , 4F
11/26 09:30, 4F
感謝ss大!!
所以我POST資料缺少,會不符原本網頁POST的預期,就執行不出來
那 原網頁+我的資料 再用原網頁POST(理論上資料就完整了) 目前有這樣的方法嗎?
不過這樣等於改了原網頁...好像不可能?
可是要補資料(主要是補 option seleted的選項)再送出...沒有其他方法了嗎@@"
※ 編輯: khastw (223.140.52.126), 11/26/2015 10:42:58
→
11/26 10:48, , 5F
11/26 10:48, 5F
→
11/26 10:48, , 6F
11/26 10:48, 6F
我是用WebView,可是webview所謂執行javascript好像是指執行原網頁已有的javascript
有辦法是在原網頁執行我自己寫的javascript嗎?
※ 編輯: khastw (223.140.52.126), 11/26/2015 10:53:57
→
11/26 11:07, , 7F
11/26 11:07, 7F
→
11/26 11:07, , 8F
11/26 11:07, 8F
final WebView myWebView = (WebView) findViewById(R.id.wv1);
WebSettings settings = myWebView.getSettings();
settings.setJavaScriptEnabled(true);
myWebView.loadUrl("file:///android_asset/js_java_interaction.html");
myWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
myWebView.loadUrl("javascript:
{document.getElementsByName('username')[0].value ='BBBBB';};");
}
});
那行loadUrl的javascript確實能執行在webview顯示"BBBBB"
可是就把之前loadUrl html的部分全部洗掉了(就是變成都是空白,只剩下BBBBB)
但是照理說應該是只有改掉username的值
其他應該照樣顯示才對....吧?
stackoverflow關於webview用javascript改value都是差不多的寫法...
可是卻沒人有同樣的問題??是我搜尋錯關鍵字嗎?
======================================================================
有解決了!!!我把loadUrl設定成
myWebView.loadUrl(
"javascript: {var aa = document.getElementsByName('username')[0];" +
"aa.value = 5" +
"};");
就可以了!!!!!!!
※ 編輯: khastw (114.136.12.224), 11/26/2015 14:34:47
※ 編輯: khastw (114.136.12.224), 11/26/2015 15:00:06
※ 編輯: khastw (114.136.12.224), 11/26/2015 15:13:43
※ 編輯: khastw (114.136.12.224), 11/26/2015 15:15:42