即使CURLOPT_VERBOSE未激活,Libcurl也会显示日志消息
Libcurl display log messages even the CURLOPT_VERBOSE is not activated
我正在使用libcurl发送http消息。
我开发了以下函数,在该函数中我启动curl选项,然后执行http消息的发送。选项CCD_ 1在以下代码中不被激活。但是在执行以下函数时,收到的http消息会显示在verbose中。我该怎么解决?
http_lightweight_notification(char *msg_out, int msg_out_len)
{
static CURL *n_curl;
CURLcode res;
struct curl_slist *chunk = NULL;
char *url="http://192.168.1.133:8080";
char buf[SIGNATURE_LEN + sizeof("Signature: ")] = "Signature: ";
char *signature = buf + sizeof("Signature: ") - 1;
if (!msg_out) return -1;
n_curl = curl_easy_init();
if (!n_curl) return -1;
signature_hmac_sha1(msg_out, "anykey", signature);
chunk = curl_slist_append(chunk, "Content-Type: text/xml; charset=utf-8");
if (!chunk) return -1;
chunk = curl_slist_append(chunk, "Accept:");
if (!chunk) return -1;
chunk = curl_slist_append(chunk, buf);
if (!chunk) return -1;
curl_easy_setopt(n_curl, CURLOPT_URL, url);
curl_easy_setopt(n_curl, CURLOPT_HTTPHEADER, chunk);
curl_easy_setopt(n_curl, CURLOPT_TIMEOUT, 30);
curl_easy_setopt(n_curl, CURLOPT_CONNECTTIMEOUT, 30);
curl_easy_setopt(n_curl, CURLOPT_POSTFIELDS, msg_out);
curl_easy_setopt(n_curl, CURLOPT_POSTFIELDSIZE, (long) msg_out_len);
# if 0
curl_easy_setopt(n_curl, CURLOPT_VERBOSE, 1L);
# endif
res = curl_easy_perform(n_curl);
if (chunk) {
curl_slist_free_all(chunk);
chunk = NULL;
}
curl_easy_cleanup(n_curl);
curl_global_cleanup();
if (res) return -1;
return 0;
}
详细输出为:
<html><head><title>JBossWeb/2.0.1.GA - Rapport d'erreur</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>Etat HTTP 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Rapport d'exception</p><p><b>message</b> <u></u></p><p><b>description</b> <u>Le serveur a rencontrأ� une erreur interne () qui l'a empأ�chأ� de satisfaire la requأ�te.</u></p><p><b>exception</b> <pre>org.jboss.ws.core.CommonSOAPFaultException: org.xml.sax.SAXParseException: Content is not allowed in prolog.
org.jboss.ws.core.soap.EnvelopeBuilderDOM.build(EnvelopeBuilderDOM.java:93)
org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:262)
org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:185)
org.openacs.ACSServlet.processRequest(ACSServlet.java:331)
org.openacs.ACSServlet.doPost(ACSServlet.java:588)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
</pre></p><p><b>note</b> <u>La trace complأ�te de la cause mأ�re de cette erreur est disponible dans les fichiers journaux de JBossWeb/2.0.1.GA.</u></p><HR size="1" noshade="noshade"><h3>JBossWeb/2.0.1.GA</h3></body></html>
这不是详细的输出,而是您接收的内容的主体。
通过将CURLOPT_WRITEFUNCTION设置为接收数据,或者可能将CURLOPT_WRITEDATA设置为不同的FILE*句柄,可以禁止将内容发送到stdout(这是默认值)。
在getimemory.c示例中显示。
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 字符串-C++后显示的随机字符
- 继承期间显示未知行为的子类
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- 程序崩溃并显示"std::out_of_range"错误
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- 为什么在C的循环中使用printf的Rust代码不显示输出,而在C++的循环中显示std::cout
- 从数据库实时显示QT c++中的数据
- 当使用比格式支持的精度更高的精度来显示数字时,会写出什么数据
- 彩色增强::日志显示偏移的颜色
- VS 2017 中的 CMake 在构建时不显示构建日志
- C ++保存mat文件,构建日志显示"undefined reference to 'H5Tget_member_type'....................."
- 即使CURLOPT_VERBOSE未激活,Libcurl也会显示日志消息
- 如何在C++中读取系统调用失败时显示的故障日志消息
- 为什么日志输出显示在控制台主机中,而不显示在ISE中?(v4.0)
- Boost日志不显示自定义时间戳
- Boost日志在使用配置文件时不显示严重性或按严重性过滤
- 日志:为什么它显示重复的消息