У меня много проблем с обработкой имени пользователя/паролей с моей HTML-страницы. Я создал базовую страницу, которая использует:
<form action="myCFile.cgi" method="post">
Username: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br>
<input type="submit" value="Create Account" />
Эта информация отправляется в myCFile.cgi, который, конечно, в моем фактическом коде является точным адресом http. Я подтвердил, что информация успешно передается в файл C. Внутри этого файла я хочу проверить, существует ли это имя пользователя в файле.ssv, который я создал (который находится в формате: пароль пользователя), и если это не так, я хочу добавить документ с именем пользователя и пароль. Моя проблема заключается в попытке точно определить, какая информация передается, это имя пользователя. Когда используется "пост", я знаю, что он отправляет информацию в форме:
username=xyz&password=abc
Каков наилучший способ извлечения имени пользователя "xyz" из приведенного выше, что я не буду знать длину имени пользователя? Я хочу придерживаться только C. Спасибо за вашу помощь
используйте strtok_s()
или нестандартные strtok_r()
и strcmp()
. Детали, оставленные как упражнение для читателя.
Кроме того, детали URLDecode не обрабатываются.
Вы можете использовать
strchr(text, '=')
strchr(text, '&')
(см. ссылку C++ для определения границ UN и PW. Имейте в виду, что эти символы кодируются, если часть пароля (например, '&' is '% 26').