【发布时间】:2012-04-17 02:20:54
【问题描述】:
我想使用 libsoup 执行一个简单的 POST 请求。我想向其发送数据的网站的 API 只需要一个名为“内容”的字段。使用 curl 我这样做:
curl -si -F 'content=mycontent' http://mywebsite.org/api
如何使用 libsoup 做同样的事情?
【问题讨论】:
我想使用 libsoup 执行一个简单的 POST 请求。我想向其发送数据的网站的 API 只需要一个名为“内容”的字段。使用 curl 我这样做:
curl -si -F 'content=mycontent' http://mywebsite.org/api
如何使用 libsoup 做同样的事情?
【问题讨论】:
Google 可能比我更适合您。这是 libsoup 客户端基础知识的链接。 http://developer.gnome.org/libsoup/stable/libsoup-client-howto.html
从那里你应该尝试类似于
guint status;
SoupMessage *msg;
const char * mycontent; //alloc and fill this with your data
msg = soup_message_new ("POST", "http://example.com/form.cgi");
soup_message_set_request (msg, "whatever content type here",
SOUP_MEMORY_COPY, mycontent, strlen (mycontent));
status = soup_session_send_message (session, msg);
//error handling etc
【讨论】:
soup_message_headers_get_one (msg->response_headers,const char* header_name) 但没有办法像 curl 的 -i 选项那样在一次调用中获取标题。