?? conn-http.sgml
字號:
<!-- ##### SECTION Title ##### -->GConnHttp<!-- ##### SECTION Short_Description ##### -->HTTP connection object<!-- ##### SECTION Long_Description ##### --><para>A #GConnHttp represents a HTTP client connection. A #GConnHttpis created directly by calling gnet_conn_http_new(). Afterthat set the URI to retrieve using gnet_conn_http_set_uri(). A connection is made and the HTTP request sent only once either gnet_conn_http_run_async() or gnet_conn_http_run()is called. Use the asynchroneous variant if you want thefunction to return immediately and prefer to receive dataand status information in the background via the callbackfunction. gnet_conn_http_run_async() assumes that there isalready a GLib main loop running (e.g. the Gtk main loop).</para><para>You can decide for yourself how much information you wouldlike to receive during the HTTP operation. All status information is communicated to the caller via the optionalcallback function.</para><para>The easiest way to just retrieve some data via HTTP is touse the convenience function gnet_http_get().</para><para>Here is a small example how to retrieve a file with theleast amount of effort and error checking (this is more or less what gnet_http_get() does internally):<example><title>Simple <structname>GConnHttp</structname> usage.</title><programlisting>voidfetch_and_print_url (const gchar *url){ GConnHttp *conn; conn = gnet_conn_http_new(); gnet_conn_http_set_uri(conn, url); if (gnet_conn_http_run(conn, NULL, NULL)) { gchar *buf; gsize buflen; if (gnet_conn_http_steal_buffer(conn, &buf, &buflen)) { g_print ("Received %%u bytes of data:\n%%s\n", buflen, buf); g_free(buf); } } gnet_conn_http_delete(conn);} ... fetch_and_print_url ("http://www.google.com"); ...</programlisting></example></para><!-- ##### SECTION See_Also ##### --><para></para><!-- ##### STRUCT GConnHttp ##### --><para></para><!-- ##### ENUM GConnHttpMethod ##### --><para></para>@GNET_CONN_HTTP_METHOD_GET: @GNET_CONN_HTTP_METHOD_POST: <!-- ##### ENUM GConnHttpError ##### --><para></para>@GNET_CONN_HTTP_ERROR_UNSPECIFIED: @GNET_CONN_HTTP_ERROR_PROTOCOL_UNSUPPORTED: <!-- ##### ENUM GConnHttpEventType ##### --><para></para>@GNET_CONN_HTTP_RESOLVED: @GNET_CONN_HTTP_CONNECTED: @GNET_CONN_HTTP_RESPONSE: @GNET_CONN_HTTP_REDIRECT: @GNET_CONN_HTTP_DATA_PARTIAL: @GNET_CONN_HTTP_DATA_COMPLETE: @GNET_CONN_HTTP_TIMEOUT: @GNET_CONN_HTTP_ERROR: <!-- ##### STRUCT GConnHttpEvent ##### --><para></para>@type: <!-- ##### STRUCT GConnHttpEventResolved ##### --><para></para>@ia: <!-- ##### STRUCT GConnHttpEventResponse ##### --><para></para>@response_code: @header_fields: @header_values: <!-- ##### STRUCT GConnHttpEventRedirect ##### --><para></para>@num_redirects: @max_redirects: @new_location: @auto_redirect: <!-- ##### STRUCT GConnHttpEventData ##### --><para></para>@content_length: @data_received: @buffer: @buffer_length: <!-- ##### STRUCT GConnHttpEventError ##### --><para></para>@code: @message: <!-- ##### USER_FUNCTION GConnHttpFunc ##### --><para></para>@conn: @event: @user_data: <!-- ##### ENUM GConnHttpHeaderFlags ##### --><para></para>@GNET_CONN_HTTP_FLAG_SKIP_HEADER_CHECK: <!-- ##### FUNCTION gnet_conn_http_new ##### --><para></para>@Returns: <!-- ##### FUNCTION gnet_conn_http_set_uri ##### --><para></para>@conn: @uri: @Returns: <!-- ##### FUNCTION gnet_conn_http_set_header ##### --><para></para>@conn: @field: @value: @flags: @Returns: <!-- ##### FUNCTION gnet_conn_http_set_max_redirects ##### --><para></para>@conn: @num: <!-- ##### FUNCTION gnet_conn_http_set_timeout ##### --><para></para>@conn: @timeout: <!-- ##### FUNCTION gnet_conn_http_set_user_agent ##### --><para></para>@conn: @agent: @Returns: <!-- ##### FUNCTION gnet_conn_http_set_method ##### --><para></para>@conn: @method: @post_data: @post_data_len: @Returns: <!-- ##### FUNCTION gnet_conn_http_run_async ##### --><para></para>@conn: @func: @user_data: <!-- ##### FUNCTION gnet_conn_http_run ##### --><para></para>@conn: @func: @user_data: @Returns: <!-- ##### FUNCTION gnet_conn_http_steal_buffer ##### --><para></para>@conn: @buffer: @length: @Returns: <!-- # Unused Parameters # -->@buflen: <!-- ##### FUNCTION gnet_conn_http_cancel ##### --><para></para>@conn: <!-- ##### FUNCTION gnet_conn_http_delete ##### --><para></para>@conn: <!-- ##### FUNCTION gnet_http_get ##### --><para></para>@url: @buffer: @length: @response: @Returns:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -