質問

SO今までの私の最長の質問に対して謝罪。私はROOTでのMySQLデータベース(高エネルギー物理学分析のためのC ++でCERNフレームワーク)のためのPHPのフロントエンドとのインタフェースしようとしています。私は彼らとより身近だからでオフを開始するには、私が最初にwgetcurlで素敵を再生するには、このPHPインターフェースを取得しようとしました。次のコマンドは機能します:

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インターフェースの著者は、それ(と記号のための様々な代替品)が必要ですが、誰もが前にこれを見ていますか?ひどかったトラブルシューティングするためにしよう!

役に立ちましたか?

解決

(複数行でなければなりませんでした)

正しい "1つのライナー" だっます:

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