0

晚上好。在我的应用程序中,我需要向需要验证码的网页发送请求。图片链接是一个 .php 文件,每次刷新页面时验证码都会发生变化。所以,如果我尝试“通过链接”下载图像,我有不同的验证码。解决办法是什么?任何的想法?先感谢您。

编辑:现在我必须填写输入并发送提交请求。这是我必须填写的文本字段的 html 源代码:

<label class="ins" for="targ">Targa del veicolo:</label>
<input id="targ" name="targa" value="" type="text" size="20" maxlength="8" tabindex="2" />

<label for="inCaptchaChars">Codice di sicurezza:</label>  <input type="text" id="inCaptchaChars" name="inCaptchaChars" tabindex="1004" onblur="ShutMeDown()">

这是关于提交按钮:

<input type="submit" name="procedi"  value="Calcola importo" />

我必须做什么才能继续?我必须使用 ASIHTTP?

4

1 回答 1

1

这可能有点令人费解,但它应该可以正常工作:

使用 webView,加载页面,当加载的页面调用stringByEvaluatingJavascript获取图像大小和偏移量的 webview () 上的一些 javascript。将 WebView 框架调整为该大小,并将内容滚动到该偏移量。禁用用户交互并显示 webview。要获得元素偏移量,您可以使用此答案

只需调用:

[[webView stringByEvaluatingJavascript:@"function getOffset(el) {  .....  }  getOffset( document.getElementById('yourElId') ).left;"] floatValue];

并不是说您必须将整个代码传递给此方法

提交验证码:和以前一样,调用

[webView stringByEvaluatingJavascript :@"document.getElementsByName('procedi')[0].value = 'your captcha';"];

然后做同样的事情来调用.click()提交按钮或.submit()表单

于 2012-09-02T07:32:48.093 回答