Я делаю простой HTTP-запрос, используя libcurl для файла index.php на моем веб-сервере, который имеет следующий простой код, записывающий данные в файл
if (isset($_POST['abc'])){
$log="abc.log";
$h=fopen($log,"w");
fwrite($h,$_POST['abc']);
fclose($h);
}
в то время как мой письменный код С++, реализующий HTTP-запрос, выглядит следующим образом
CURL *curl;
CURLcode res;
curl=curl_easy_init();
string url=AnsiString("http://127.0.0.1/curl/index.php?abc=123").c_str();
string data="abc=3434";
if (curl) {
curl_easy_setopt(curl, CURLOPT_POST, 1);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS,AnsiString("abc=3434").c_str());
curl_easy_setopt(curl, CURLOPT_URL,AnsiString("http://127.0.0.1/curl/index.php").c_str());
res=curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
Во-первых, публикация включена curl_easy_setopt(curl, CURLOPT_POST, 1);
Во-вторых, если я отлаживаю этот код, я получаю статус CURL_OK
в res
(возвращаемое значение), а также TCP 127.0.1:80 будет устанавливаться каждый раз, когда я запускаю мониторинг кода через netstat -ano 15
, но файл abc.log
пуст.
Что с этим не так?? У тебя нет идеи указать мне правильный путь?
Заранее спасибо!
abc.log
пуст :( - person Suhrob Samiev   schedule 03.03.2012$_POST['abc']
на $_GET['abc'] в своем php-файле и запускаюindex.php?abc=qwerty
через браузер, он записывает в файл! - person Suhrob Samiev   schedule 03.03.2012127.0.0.1 - - [03/Mar/2012:16:09:18 +0500] "GET /curl/index.php HTTP/1.1" 200 -
что означает минус в конце?? На самом деле, это отправка метода GET! - person Suhrob Samiev   schedule 03.03.2012$_POST['abc']
на$_GET['abc']
, а также `curl_easy_setopt(curl,CURLOPT_HTTPGET,1); curl_easy_setopt(curl, CURLOPT_URL,AnsiString(127.0.0.1/curl/index .php?abc=23234).c_str()); ` не работает, если, скажем, отправляет запрос GET! - person Suhrob Samiev   schedule 03.03.2012