php city 17 Польщі Вінниця require_once Parser class php ch curl_init

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
$city = '17'; // Польщі Вінниця
require_once 'Parser.class.php';
$ch = curl_init();
$realuri = 'https://www.vfsvisaonline.com/poland-ukraine-appointment/(S(a1hauy45tsmpst45pnkxci45))/AppScheduling/AppWelcome.aspx?P=s2x6znRcBRv7WQQK7h4MTjZiPRbOsXKqJzddYBh3qCA=';
curl_setopt_array($ch, array(
CURLOPT_URL => $realuri,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false
));
$parser = new Parser;
$parser -> setText(curl_exec($ch));
if($parser -> getRealURI()) {
$realuri = $parser -> getRealURI();
curl_setopt($ch, CURLOPT_URL, $realuri);
$parser -> setText(curl_exec($ch));
}
$submit = $parser -> getRealPath($realuri) . $parser -> getFormAction();
curl_setopt_array($ch, array(
CURLOPT_URL => $submit,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => array(
'__EVENTTARGET' => $parser -> getTarget('Призначити дату подачі документів'),
'__EVENTARGUMENT' => $parser -> getArgument('Призначити дату подачі документів'),
'__VIEWSTATE' => $parser -> getValueById('__VIEWSTATE'),
'____Ticket' => $parser -> getValueById('____Ticket'),
'__VIEWSTATEENCRYPTED' => $parser -> getValueById('__VIEWSTATEENCRYPTED'),
'__EVENTVALIDATION' => $parser -> getValueById('__EVENTVALIDATION'),
$parser -> getName('hidCSRF') => $parser -> getValueById($parser -> getId('hidCSRF')),
)
));
$parser -> setText(curl_exec($ch));
curl_setopt($ch, CURLOPT_POST, false);
$submit2 = $parser -> getRealPath($realuri) . urldecode($parser -> getFormAction());
curl_setopt_array($ch, array(
CURLOPT_URL => $submit2,
CURLOPT_REFERER => $submit,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => array(
'__VIEWSTATE' => $parser -> getValueById('__VIEWSTATE'),
'____Ticket' => $parser -> getValueById('____Ticket'),
'__VIEWSTATEENCRYPTED' => $parser -> getValueById('__VIEWSTATEENCRYPTED'),
'__EVENTVALIDATION' => $parser -> getValueById('__EVENTVALIDATION'),
$parser -> getName('hidCSRF') => $parser -> getValueById($parser -> getId('hidCSRF')),
$parser -> getName('cboVAC') => $city,
$parser -> getName('cboPurpose') => '1', //Подача документів,
$parser -> getName('btnSubmit') => 'Підтвердити' //лол, но обязательно нужно xD
)
));
$parser -> setText(curl_exec($ch));
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt_array($ch, array(
CURLOPT_URL => $parser -> getRealPath($realuri) . urldecode($parser -> getFormAction()),
CURLOPT_REFERER => $submit2,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => array(
'__EVENTTARGET' => 'ctl00$plhMain$cboVisaCategory',
'__EVENTARGUMENT' => '',
'__VIEWSTATE' => $parser -> getValueById('__VIEWSTATE'),
'____Ticket' => $parser -> getValueById('____Ticket'),
'__VIEWSTATEENCRYPTED' => $parser -> getValueById('__VIEWSTATEENCRYPTED'),
'__EVENTVALIDATION' => $parser -> getValueById('__EVENTVALIDATION'),
$parser -> getName('hidCSRF') => $parser -> getValueById($parser -> getId('hidCSRF')),
$parser -> getName('cboVisaCategory') => '235', // Національна Віза
$parser -> getName('tbxNumOfApplicants') => '1', //Кількість заявників
$parser -> getName('txtChildren') => '0', //К-сть дітей вписаних у паспорт батьків
)
));
preg_match('/class="Validation">(.*?)<\/span>/i', curl_exec($ch), $data);
echo $data[1]; //выводим результат :D
// P.S. заебался