我在尝试处理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文件中是否已存在该用户名(格式为:用户名密码),如果没有,我希望附加用户名的文档和密码信息。 我的麻烦在于试图确切地确定传递的信息是用户名。当使用“post”时,我知道它以以下形式发送信息:
username=xyz&password=abc
从上面提取用户名“xyz”的最佳方法是什么,因为我不知道用户名的长度?我只想坚持C. 谢谢你的帮助
答案 0 :(得分:0)
您可以使用
strchr(text, '=')
strchr(text, '&')
(请参阅C++ referrence以找到UN和PW的边界。请注意,如果密码的一部分(例如&#39;&amp;&#39;%&#39;%26& #39;)
答案 1 :(得分:0)
使用strtok_s()
或非标准strtok_r()
和strcmp()
。细节留给读者练习。
此外,不处理URLDecode的详细信息。