Извиняюсь за мой самый длинный вопрос о SO. Я пытаюсь взаимодействовать с интерфейсом php для базы данных mysql в ROOT (фреймворк CERN на C++ для анализа физики высоких энергий). Для начала я попытался заставить этот php-интерфейс хорошо работать с wget
и curl
, потому что я лучше знаком с ними. Работает следующая команда:
wget --post-data "hostname=localhost:3306&un=joeuser&pw=psswd&myquery=show_spazio_databases;" http://some.host.edu/log/log_query_matlab.php
Результаты:
database1
database2
Это хорошо. Если я пропущу --post-data
, я получу результат:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'admin'@'localhost' (using password: NO) in /log/log_query_matlab.php on line 6
i'm dead! Access denied for user 'admin'@'localhost' (using password: NO)
Warning: mysql_query() [function.mysql-query]: Access denied for user 'admin'@'localhost' (using password: NO) in /log/log_query_matlab.php on line 29
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /log/log_query_matlab.php on line 29
У меня есть доступ к php-скрипту (только для чтения), но сама ошибка не так важна. Какое значение имеет то, что, используя ROOT, я использую функцию, называемую socket.SendRaw(message, message.Length())
(сокет - это TSocket
), и это дает мне ту же «ошибку», что и wget
, без переключателя данных поста, если мое «сообщение»
"POST http://some.host.edu/log/log_query_matlab.php?hostname=localhost:3306&un=joeuser&pw=psswd&myquery=show_spazio_databases"
Это может быть напрасно, но кто-нибудь знает, как я должен форматировать «сообщение», которое включает что-то, что эквивалентно переключателю --post-data
. Или есть стандартный способ форматирования POST-запросов в одну строку (я видел множественный -line материал. Верно?) Извините, я ничего не понимаю!
PS. Запрос mysql - show databases
, но пробел был заменен на _spazio_
, что по-итальянски означает пробел. Это требует автор интерфейса db и php (и различные замены для символов), но кто-нибудь видел это раньше? Попытка устранить неполадки была ужасной!