<!DOCTYPE workflow-resource PUBLIC "Spider-Core workflow dtd"
"http://rc.91yong.com/spider.dtd"
>
<workflow-resource prefix="ganji">
<workflow id="checkcode_submit">
<var type="HttpClientUtilParam" id="getCookie">
<field name="url">http://fz.ganji.com/sorry/confirm.php?</field>
</var>
<exe id="getCookie" name="getHtml">
</exe>
<var type="HttpClientUtilParam" id="imgGet">
<field name="url">http://www.ganji.com/sorry/cc.php</field>
<field name="resultType">BYTE</field>
</var>
<exe id="imgGet" name="getBytes">
<output>
<var id="img"/>
</output>
</exe>
<exe type="logger" name="info">
<param>img</param>
<param>
<var id="img"/>
</param>
</exe>
<exe type="ValidateCodeUtil" name="recognition">
<param>
<var id="img"/>
</param>
<param>lowcase</param>
<output>
<var id="checkcode"/>
</output>
</exe>
<exe type="logger" name="info">
<param>自动识别的验证码</param>
<param><var id="checkcode"/></param>
</exe>
<var type="StringBuilder" id="submitUrl">
<field name="append">http://www.ganji.com/sorry/checkcode.php?code=</field>
<field name="append">
<var id="checkcode"/>
</field>
</var>
<var type="HttpClientUtilParam" id="submit">
<field name="url">
<var id="submitUrl"/>
</field>
<field name="method">GET</field>
</var>
<exe id="submit" name="getHtml">
<output>
<var id="_checkCodeBack" global="true"></var>
</output>
</exe>
<exe type="logger" name="info">
<param>return</param>
<param>
<var id="_checkCodeBack" global="true"/>
</param>
</exe>
<exe type="ChannelScriptEngine" name="eval">
<param>validateCheckcodeSuccess</param>
<output>
<var id="result"/>
</output>
</exe>
<exe type="ExceptionUtil" name="throwRetryIfEmpty">
<param>
<var id="result"/>
</param>
</exe>
</workflow>
</workflow-resource>