Получение контента от PHP: проблема с почтой и запросом
-
25-09-2019 - |
Вопрос
Извиняюсь за мой самый длинный вопрос на так когда-либо. Я пытаюсь взаимодействовать с интерфейсом PHP для базы данных MySQL в корне (каркас 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 Data, если мое «сообщение»
"POST http://some.host.edu/log/log_query_matlab.php?hostname=localhost:3306&un=joeuser&pw=psswd&myquery=show_spazio_databases"
Это может быть напрасно, но кто-то знает, как я должен отформатировать «сообщение», которое включает в себя то, что эквивалентно --post-data
выключатель. Или есть ли стандартный способ форматировать почтовые запросы в одной строке (я видел Многонапряжение. Отказ Это верно?) Извините, я невежественным!
Придавать Запрос MySQL show databases
Но пространство было заменено на _spazio_
, Итальянец для космоса. Автор интерфейса DB и PHP требует (и различных замены для символов), но кто-нибудь видел это раньше? Пытаясь устранить неполадки, это было ужасно!
Решение
Правильный «один лайнер» (должен был быть многослойным) был:
POST http://some.host.edu/log/log_query_matlab.php HTTP/1.1
Host: some.host.edu
Content-Type: application/x-www-form-urlencoded
Content-Length: 73
hostname=localhost:3306&un=joeuser&pw=psswd&myquery=show databases
Конец каждой строки имеет \r\n
. Отказ Зазор после длины содержимого имеет два набора тех.