0

我是 Android 编程的初学者,谷歌已经无数次将我重定向到这个有用的网站。这是我的问题:

使用 java.io 我设法模仿 HTTP POST 请求:

From Source Code :

<div id="box1"><form method="post" action="/index2.php" name="form" id="form" class="form" onsubmit="return quickly();">
<div id="textbox"><textarea rows="30" cols="50" name="BOX1" class="textbox"></textarea></div>
<div id="textbox2"><input onfocus="this.value=''" type="text" name="BOX2" class="mobilia" value=""/></div>

 My Java Code :

 String data = URLEncoder.encode("BOX1", "UTF-8") + "=" + URLEncoder.encode(string1, "UTF-8");
        data += "&" + URLEncoder.encode("BOX2", "UTF-8") + "=" + URLEncoder.encode(string2, "UTF-8");

URL url = new URL("http://www.slidesms.com/sendsms2.php");
        URLConnection conn = url.openConnection();
        conn.setDoOutput(true);
        OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
        wr.write(data); ... 

这曾经像魔术一样工作!除了网站更新了,现在源代码的位置和以前一样:

div id="textbox"><Script Language='Javascript'> 
<!--
document.write(unescape('%3C%69%6E%70%75%74%20%6F%6E%66%6F%63%75%73%3D%22%74%68%69%73%2E%76%61%6C%75%65%3D%27%27%22%20%74%79%70%65%3D%22%74%65%78%74%22%20%6E%61%6D%65%3D%22%69%65%6E%6F%22%20%63%6C%61%73%73%3D%22%6D%6F%62%69%6C%65%32%22%20%76%61%6C%75%65%3D%22%43%6E%74%72%79%20%43%6F%64%65%20%26%20%4D%6F%62%69%6C%65%20%4E%6F%2E%22%20%2F%3E'));
//-->
</Script></div>

我对 Javascript 没有任何经验,有人甚至可以让我回到正确的轨道上吗?我什至不知道从哪里开始寻找,我曾经模仿 POST 方法,现在我无法理解源代码了。任何帮助将不胜感激:)

4

2 回答 2

0

该 javascript 将<input>元素写入页面,而不是 script 标签。

http://jsfiddle.net/4Vj9B/

但为什么会这样,老实说,我不知道。似乎您拥有的任何生成这些表单元素的代码都希望通过混淆的 javascript 生成它。可能是由于某处非常奇怪的设置/首选项/配置。

通常这样做的原因是混淆 mailto 链接中的电子邮件地址,以使蜘蛛更难收集电子邮件。但在这种情况下,使用 javascript 插入表单元素几乎没有意义,而任何块“帮助”你的东西都需要快速启动。

于 2011-08-17T19:56:51.033 回答
0
System.out.println(URLDecoder.decode("%3C%69%6E%70%75%74%20%6F%6E%66%6F%63%75%73%3D%22%74%68%69%73%2E%76%61%6C%75%65%3D%27%27%22%20%74%79%70%65%3D%22%74%65%78%74%22%20%6E%61%6D%65%3D%22%69%65%6E%6F%22%20%63%6C%61%73%73%3D%22%6D%6F%62%69%6C%65%32%22%20%76%61%6C%75%65%3D%22%43%6E%74%72%79%20%43%6F%64%65%20%26%20%4D%6F%62%69%6C%65%20%4E%6F%2E%22%20%2F%3E", "UTF-8"));

给你

<input onfocus="this.value=''" type="text" name="ieno" class="mobile2" value="Cntry Code & Mobile No." />
于 2011-08-17T20:06:19.103 回答