如何在进行网络请求时获取验证码?

时间:2011-08-10 11:14:36

标签: c# session login captcha webrequest

我让我的用户注册一个电子邮件帐户,用户只需填写我的程序中的所有信息,我的程序将填写这些字段。好吧,它并不是真正的POST请求与正确的postdata到正确的表单/发布网址。

然而,该网站需要验证码,我只是想向我的用户显示验证码,他输入值,然后它与postdata一起发送。

注册页面位于:http://register.rediff.com/register/register.php?FormName=user_details

我可以从html中获取所有图片网址但是当我复制验证码图片的网址并转到它时,它是一个不同的图像,然后我复制了网址的图像:

http://register.rediff.com/register/tb135/tb_getimage.php?uid=1312830635&start=JTNG

如何使用HttpWebRequest执行此操作? 我可以先抓住html:

string html = new WebClient()。DownloadString(“http://register.rediff.com/register/register.php?FormName=user_details”);

然后获取图片网址,但我不知道如何向用户显示相同的验证码?

顺便说一下,它不适用于机器人......它不是自动化的东西......只是我不希望用户显示网络界面......

1 个答案:

答案 0 :(得分:0)

不是真的回答,而是提出一些建议:

如果您正在编写应用程序客户端以使用该网站,更好的方法是为应用程序编写WCF / WebService以直接进行交互 - 这可以直接引用您的BL层。

如果您希望整个应用程序在屏幕抓取工作,那么这将是很多工作,您的应用程序将依赖于未被更改的网站。