道歉就使以往任何时候我的时间最长的问题。我试图用一个PHP的前端在ROOT MySQL数据库(在C ++高能物理分析CERN框架)的接口。首先,我想是因为我更熟悉他们得到这个PHP接口很好地一起wgetcurl首先开始。下面的命令工作的:

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请求的标准方式(我见过多直插式的东西。是吗?)对不起,我无言以对!

PS。 MySQL查询是show databases但空间已被替换_spazio_,意大利的空间。数据库和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。内容长度后的间隙具有两组的那些。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top