PHPからブログ投稿 | XGのブログ

XGのブログ

ブログの説明を入力します。

XML-RPCとAtomAPIを使ってブログ投稿を興味本位でやってみた。
ブログによってAPIは違えど1個対応すると結構色々と使いまわせるっぽい。
Amebaだけなんかめんどくさそうだったから無視。
かっこつけてんじゃねえぞ!


livedoorはAtomAPIなんだけどちょっとハマったからメモ。
ある程度長い記事を投稿すると失敗する。
Only the 100-continue expectation is supported.

文字数制限なのか?と思ってFAQを調べて見た。
http://help.livedoor.com/blog/qa2111

■本文:半角32000文字(全角16000文字)
■追記:半角64000文字(全角32000文字)
■コメント:半角1600文字(全角800文字)


十分な長さじゃないか。
そんな全然そんな長くなくてもアウトだった。
で、エラーメッセージを見てみたら
The client sent

Expect: 100-continue


何コレ?
俺が「Expect: 100-continue」というヘッダを送ってる?
身に覚えがございません。

ググってみたら答えがあった。
http://d.hatena.ne.jp/tokuhy/20091202/1259766797
つまりcurlが勝手にヘッダを追加してるらしい。

↓こんな感じにヘッダ上書きしてみた。

$headers[] = "Expect:";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);


上手く行きました。