PHP CURLでPOSTデータ送信

PHP CURLでPOSTデータを送信するサンプルを作成してみました。
自分で運用しているWordPressのサイトに対してブログのコメントを送ってみます。

●POSTで送る情報
 
・author=testuser
・&email=test@example.com
・url=
・comment=testcomment1
・submit=commnet-send
・comment_post_ID=1
・comment_parent=0
 
●CURLの設定方法
 
上記の項目=値を”&”で結合して、$query_stringに設定し、curl_setoptでセットします。
 
$query_string = “author=testuser&email=test@example.com&url=&comment=testcomment1&submit=commnet-send&comment_post_ID=1&comment_parent=0”;
curl_setopt($sc, CURLOPT_POSTFIELDS, $query_string);
 
でPostで送信する情報を定義します。
 
(サンプルプログラム)

$target = "http://example.com/wp-comments-post.php";

$ref = "http://example.com/?p=12";
$query_string = "author=testuser&email=test@example.com&url=&comment=testcomment19&submit=commnet-send&comment_post_ID=12&comment_parent=0";

$sc = curl_init();

curl_setopt($sc, CURLOPT_URL, $target);
curl_setopt($sc, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($sc, CURLOPT_REFERER, $ref);
curl_setopt($sc, CURLOPT_POSTFIELDS, $query_string);

$return = curl_exec($sc); 

curl_close($sc);

var_dump($return);

●動作確認
 
WordPressの管理画面でコメント管理画面を表示すると、PHP CURLプログラムで送ったコメントが登録されている事が確認できました。

関連記事の目次

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です