При использовании cURL для вставки информации в текстовые поля на веб-сайте и при нажатии «enter», как я могу убедиться, что он действительно прошел? - PullRequest
0 голосов
/ 15 октября 2018

В настоящее время у меня есть веб-сайт, на котором есть два ввода текста и кнопка «Ввод».Я хотел бы автоматизировать вставку имени и фамилии и нажать клавишу Enter следующим образом:

curl -d "entry1=mark&entry2=jacobs&submitButton=Enter" http://URL/example.cgi

Однако приведенное выше не говорит мне, возвращались ли какие-либо сообщения об ошибках после вставки в первую ифамилия в форме.Кроме того, я не уверен, была ли нажата кнопка «Ввод».Есть ли правильный способ сделать это?

Ответы [ 2 ]

0 голосов
/ 21 октября 2018

обычно я бы обернул его в скрипт, который его анализирует, например,

#!/usr/bin/env php
<?php
$html=shell_exec('curl -d "entry1=mark&entry2=jacobs&submitButton=Enter" http://URL/example.cgi');
$domd=@DOMDocument::loadHTML($html);
if(($ele=$domd->getElementById("error-div"))){
   echo "error: ".$ele->textContent;
}else{
  echo "success!";
}

(в этом примере выполняется синтаксический анализ страницы с <div id="error-div">error-description</div> при возникновении ошибки.)

и затем просто запустите его как

$ ./myscript.php

вместо вашего вызова curl

0 голосов
/ 15 октября 2018

То, что вы хотите, это код состояния http ответа.Вы можете получить это несколькими способами, посмотрите на этот пост, он должен вам помочь:

https://superuser.com/questions/272265/getting-curl-to-output-http-status-code

Я бы начал с ответа pvandenberk и сделал бы что-то вроде:

curl -s -o /dev/null -w "%{http_code}" http://www.example.org/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...