我正在编写一个Apache模块。在同一个我能够通过处理请求读取请求参数并制作一些参数。现在我想将此数据发布到外部端点。我该怎么做?
说我有数据
char* data = "{clientid:2433211456}";
我希望以异步模式将其发布到网址example.com/getPostedData
,我该怎么做?
注意:目前我正在使用计划Apache libs和APXS工具。如果我可以有一些我可以构建相同的模块,请建议。
答案 0 :(得分:0)
我已经解决了这个问题如下:
curl
发布请求。libcurl-devel
在处理程序方法中:
char* postData="hello=hie";
CURL *curl;
curl = curl_easy_init();
ap_rprintf(r,"Intialized Curl!<br>");
if(curl) {
ap_rprintf(r,"Curl Request Posting Started!<br>");
curl_easy_setopt(curl, CURLOPT_URL,"http://google.com/search");
//curl_easy_setopt(curl, CURLOPT_POST,1L);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS,postData);
ap_rprintf(r,"%d",curl_easy_perform(curl));
curl_easy_cleanup(curl);
}
apxs -i -a -c mod_example.c -lcurl
有关libcurl的更多参考:http://curl.haxx.se/libcurl
在github here上找到我的示例模块代码。