我在java中制作一个小脚本来检查iPhone IMEI号码。 这个网站来自Apple: here
您必须输入IMEI号码。如果此数字正常,则会将您带到此页面: https://appleonlinefra.mpxltd.co.uk/search.aspx 此外,您还可以访问 /search.aspx 页面 我想打开搜索页面,输入IMEI,提交,并检查URL是否已更改。在我的代码中有一个有效的IMEI编号。
这是我的java代码:
HtmlPage page = webClient.getPage("https://appleonlinefra.mpxltd.co.uk/search.aspx");
HtmlTextInput imei_input = (HtmlTextInput)page.getElementById("ctl00_ContentPlaceHolder1_txtIMEIVal");
imei_input.setValueAttribute("012534008614194");
//HtmlAnchor check_imei = page.getAnchorByText("Rechercher");
//Tried with both ways of getting the anchor, none works
HtmlAnchor anchor1 = (HtmlAnchor)page.getElementById("ctl00_ContentPlaceHolder1_imeiValidate");
page = anchor1.click();
System.out.println(page.getUrl());
我无法找到它的来源,因为我经常使用HTMLUnit,我从来没有遇到过这个问题。也许是因为提交后的加载时间很短?
提前谢谢
答案 0 :(得分:0)
您可以使用HTMLUnit提供的连接包装器
来完成此操作这是一个例子
new WebConnectionWrapper(webClient) {
public WebResponse getResponse(WebRequest request) throws IOException {
WebResponse response = super.getResponse(request);
if (request.getUrl().toExternalForm().contains("Inspection.aspx")) {
String content = response.getContentAsString("UTF-8");
WebResponseData data = new WebResponseData(content.getBytes("UTF-8"), response.getStatusCode(),
response.getStatusMessage(), response.getResponseHeaders());
response = new WebResponse(data, request, response.getLoadTime());
}
return response;
}
};
使用上面的连接包装器,您可以检查通过HTMLUnit
传递的任何请求和响应