У меня есть внешний сайт, который требует от меня. login b. почтовая форма (с 2-3 дианамическими параметрами)
Мне нужен PHP-скрипт для автоматизации этого поведения. т.е. сценарий должен сначала войти в систему с именем пользователя / паролем, а затем перейти к URL-адресу и отправить форму (используя параметры диамана)
Как я могу сделать то же самое с помощью PHP?
Я рекомендую использовать этот класс:
http://semlabs.co.uk/journal/object-oriented-curl-class-with-multi-threading
Это будет примерно так:
$c = new CURLRequest(); $c->retry = 2; $c->get( $url, $this->curlOpts ); $url = 'https://secure.login.co.uk/'; $opts = array( CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)', CURLOPT_COOKIEFILE => 'anc.tmp', CURLOPT_COOKIEJAR => 'anc.tmp', CURLOPT_FOLLOWLOCATION => 1, CURLOPT_RETURNTRANSFER => 1, CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_TIMEOUT => 120 ); $opts[CURLOPT_POSTFIELDS] = 'username=user&password=pass&submit=1'; $request = $c->get( $url, $opts );
NB Некоторые сайты требуют, чтобы вы сначала загрузили страницу входа, чтобы установить файл cookie.
Кроме того, вам нужно указать url_encode специальные символы в полях.