Я программирую скрипт, который анализирует некоторые данные из <a>
а также <input>
теги на странице (с помощью SIMPLE HTML DOM). Между прочим, веб-страница требует авторизоваться и держать COOKIES. Я использую CURL. Проблема возникает, когда я пытаюсь отправить данные POST с только что извлеченными ключами:
<input type="HIDDEN" name="KeyStr" value="7241e48c3532f85b1ece8c73f2ab5b3f^91157">
<input type="HIDDEN" name="ParamStr" value="af89a26374cf9addc88f1d5fbfa86670|@|STUD_ID|&|91157|~|GROUP_ID|&|4873|~|GROUP_NAME|&|КН-13-2">
<a id="TabLeftBorderLink" href="javascript:GoToSubTable(6, '631495a2fe80603ee352b07ead601fdb^2014|1')">Go</a>
(«6» и что 3 длинных ключа извлечены)
Сайт показывает, что какой-то ключ недействителен.
На другой странице, где мне не нужно POST, что «скрытые» значения, только значения из < a> tag все работает отлично.
Таким образом, я думал, что проблема была вызвана неправильным анализом символов, таких как & или что-то вроде этого, может быть.
Я пробовал:
str_replace("&","&",$postdata["ParamStr"]);
//or
str_replace("amp;","",$postdata["ParamStr"]);
так же как:
$postdata["ParamStr"] = htmlspecialchars_decode($postdata["ParamStr"]);
Но это не работает.
Задача ещё не решена.
Других решений пока нет …