« スペシャルページ | トップページ | Excerpt というのは... »
2004.01.21
ココログの XML-RPC API での文字化け検出
ヴァリウム男爵さんの リクエスト にお応えして、 ちょっと荒っぽい文字化け自動判別処理 を組み込んだ、記事取得処理のソース (C で記述)を公開します。
本当に荒っぽいですよ。やっつけですよ。いいですね? (^^;
ということで、ソースです。
/*
* blogger.getRecentPosts
* 説明: 最新の記事をシステムからとってきます.
* 引数: String appkey,
* String blogid,
* String username,
* String password,
* int numberOfPosts
* 返り値: 成功すると,構造体の配列が返ってきます.
* 構造体には,
* ISO.8601 dateCreated,
* String userid,
* String postid,
* String content
* が含まれます.(順は不同)
* 失敗すると,fault が返ります.
* 注意: dateCreated は,blogid の weblog においての時間帯になっています.
*
*/
int
getRecentPosts( const char *blogID,
const char *userName,
const char *password,
int numOfEntries )
{
int ret = FALSE;
int done = FALSE;
char buffer[BUFSIZ];
char response[102400];
if ( !userName )
userName = xmlrpc_p->userName;
if ( !password )
password = xmlrpc_p->password;
do {
if ( response )
*response = NUL;
sprintf( buffer,
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<methodCall>\n<methodName>blogger.getRecentPosts</methodName>\n"
"<params>\n"
"<param>\n<value><string>%s</string></value>\n</param>\n"
"<param>\n<value><string>%s</string></value>\n</param>\n"
"<param>\n<value><string>%s</string></value>\n</param>\n"
"<param>\n<value><string>%s</string></value>\n</param>\n"
"<param>\n<value><i4>%d</i4></value>\n</param>\n"
"</params>\n"
"</methodCall>\n\n",
"C1C2C3C4C5", blogID, userName, password, numOfEntries );
ret = httpPost( xmlrpc_p->webServer, xmlrpc_p->webPage,
buffer, response );
done = TRUE;
if ( (ret == 0) || (*response != NUL) ) {
char *p = response;
char *q = strstr( p, "content" );
if ( q ) {
p = strstr( q + 7, "<string>" );
if ( p ) {
q = strchr( p + 8, (char)0xC3 );
if ( q ) {
fprintf( stderr, "文字化け検出!!\n" );
done = FALSE; /* 文字化けしてたら、記事を取得し直す */
}
}
}
}
else
ret = -1;
} while ( !done );
return ret;
}
とりあえず、これでうまくいっています。「記事の再取得」をしなくても、 もちろん無理矢理デコードすることも可能です。どっちの方がコストは低いんでしょう? 無理矢理デコードの方が、余分な通信が発生しない分、低コストですね。
投稿者: tsupo 2004.01.21 午後 12:18
| 固定リンク
|
|
|
| ![]()
|
|
|
|
「Blogクライアント」カテゴリ内の最近の記事
2007-12-06 まとめていろいろアップデート
2007-03-19 ecto for Windows 2.3
2007-03-12 ecto for Windows 2.2.4
「ウェブログ・ココログ関連」カテゴリ内の最近の記事
2011-01-29 ココログの上級者向けテンプレートの MTEntries タグの仕様が変わった?
2010-04-07 ココログをツイッターに連携させてみるテスト
2009-12-28 冬コミ(C77)でTwitter本、頒布します
2009-12-19 tumblr の「Twitter互換API」を試しに使ってみました
2009-12-03 Twitter API の変遷 (仮) - 「第1回Twitter研究会」発表用資料
「プログラミング」カテゴリ内の最近の記事
2011-02-24 instagram API の概要(速報版)
2011-01-06 「Twitter API プログラミング」の韓国語翻訳版が出版されました
2010-06-23 最近の faves.com
2010-04-09 「Twitter API プログラミング」、アマゾンでも予約受付開始
アマゾンわくわく探検隊
トラックバック
この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/6737/121534
この記事へのトラックバック一覧です: ココログの XML-RPC API での文字化け検出:



