スポンサーリンク

libfetch(3) は、 fetch(1) コマンドで利用されているライブラリです。
URL にアクセスして、表示するサンプルプログラムを書いてみました。
libfetch(3) は、内部でメモリを確保したりする関数があるので、
開放忘れの注意が必要です。

コンパイル方法。
% cc fetch.c -lfetch
サンプルコード。
fetchPrint ("http://hoge/"); みたいに呼び出します。
#include <err.h>
#include <sys/param.h>
#include <stdio.h>
#include <fetch.h>

void
fetchPrint (char *URL)
{
	struct url *url;

	url = fetchParseURL (URL);
	if (NULL == url)
	{
		warnx ("%s: parse error", URL);
		return;
	}

	FILE *f;
	char flags[8] = { 0 };
	struct url_stat us;
	f = fetchXGet (url, & us, flags);
	if (NULL == f)
	{
		warnx ("%s: %s", URL, fetchLastErrString);
		free (url);
		return;
	}

	char buf[256];
	size_t  size;

	while (! feof (f) )
	{
		size = fread (buf, 1, sizeof (buf), f);
		if (size == 0)
		{
			break;
		}
		fwrite (buf, 1, size, stdout);
	}

	fclose (f);
	free (url);
}

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー