Je crée une application pour une entreprise qui va remplir un formulaire dans l'application Windows et une demande de publication sera envoyée au serveur pour enregistrer l'utilisateur.curl ne montre pas captcha
Pour envoyer une requête POST i utilisé boucle
private void post_data(string url, string data)
{
Curl.GlobalInit((int)CURLinitFlag.CURL_GLOBAL_ALL);
Easy e = new Easy();
Easy.WriteFunction wf = MyWriteFunction;
e.SetOpt(CURLoption.CURLOPT_URL, url);
e.SetOpt(CURLoption.CURLOPT_POSTFIELDS, data);
e.SetOpt(CURLoption.CURLOPT_WRITEFUNCTION, wf);
e.Perform();
e.Cleanup();
}
private int MyWriteFunction(byte[] buf, int size, int nmemb, Object extraData)
{
StreamWriter sw = new StreamWriter(@"curl.txt");
foreach (byte b in buf)
{
sw.Write(((char)b));
}
sw.Flush();
sw.Close();
return buf.Length;
}
Et pour extraire le chemin de l'image Captcha à partir du code source et de laisser l'utilisateur tapez le texte
private void Get_Captcha_Image(string url)
{
Curl.GlobalInit((int)CURLinitFlag.CURL_GLOBAL_ALL);
Easy e = new Easy();
Easy.WriteFunction wf = MyWriteFunction;
e.SetOpt(CURLoption.CURLOPT_URL, url);
e.SetOpt(CURLoption.CURLOPT_WRITEFUNCTION, wf);
e.Perform();
e.Cleanup();
get_ca_2();
}
private void get_ca_2()
{
Regex r = new Regex(@"(?<=src=('|""))https?://.*?(?=\1)");
foreach (string line in File.ReadAllLines("curl.txt"))
{
Match m = r.Match(line);
if (m.Success)
{
if (m.Value.Contains("http://www.google.com/recaptcha/api/image?c="))
{
pictureBox1.ImageLocation = m.Value;
}
}
}
}
Mais ce que je remarqué est que
<img width="300" height="57" src="http://www.google.com/recaptcha/api/image?c=03AHJ_VuvnenuZSRbfL_JTQLTYKFYzEFTkYrDgedu0SLyYvTDhsr2hHjQPwYlGJiP3dJRewkIhhdeILAd1_61_aFfU2dclbf8uovme-0gF3nm8Y7-LQVfaDQoI35bo3c35pOnF-xSY3Qfy_lh8TzhSWlMemEnkYnDpZw" alt="reCAPTCHA challenge image" style="display:block;">
Par exemple n'est pas présent sur le code source extrait de la page Web g boucle
je me suis lassé d'un navigateur Web et de le cacher et j'ai pu trouver l'image captcha et je réussissais sur des données affichant, mais je dois comprendre sur boucle