如何使用自动化脚本将输入传递给php网页,即我只想知道如何使用脚本将参数传递给文本字段。例如,在网页的用户名和密码字段中传递输入,然后按下提交按钮(这也是通过脚本完成的)。
优先使用的语言:JAVA
优先使用的语言:JAVA
尝试使用Selenium。 Selenium在自动化网页浏览器方面非常出色。
此外,它还具有与Java的纯支持。但不止于此。
当涉及到自定义方法时,请查看...
String urlParameters = "param1=a¶m2=b¶m3=c";
String request = "http://example.com/index.php";
URL url = new URL(request);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setInstanceFollowRedirects(false);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("charset", "utf-8");
connection.setRequestProperty("Content-Length", "" + Integer.toString(urlParameters.getBytes().length));
connection.setUseCaches (false);
DataOutputStream wr = new DataOutputStream(connection.getOutputStream ());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
connection.disconnect();
http://hc.apache.org/httpclient-3.x/methods/post.html
这可以让您模拟直接向目标页面提交完整填写的表单并获取结果。
请记住,在调用之后,您必须抓取并存储响应中的会话 cookie,并重新提交到您想要“访问”的以下页面以保持“登录”状态。
我想展示如何将输入传递到HTML。我通常使用Python向需要输入数据的页面发送请求。在此之前,您需要知道是否需要提供Web Cookie,如果是,请复制Cookie;如果不需要登录,则只需检查一下即可。完成这些步骤后,您需要知道输入区域的字段名称,因为您将使用它们来使用脚本POST或GET数据。以下是示例用法。
import urllib
import urllib2
import string
headers = {'Cookie': 'You cookies if you need'}
values = {'form_name':'sample text', 'submit':''}
data = urllib.urlencode(values)
req = urllib2.Request('website where you making request to',data,headers)
opener1 = urllib2.build_opener()
page1=opener1.open(req)
#OPTIONAL
htmlfile=page1.read()
fout = open('MYHTMLFILE.html', "wb")
fout.write(htmlfile)
fout.close()