タグ

2013年4月26日のブックマーク (2件)

  • [PHP][cURL] cURLでリダイレクトをたどるようにする

    PHPはサイト解析するためにURLから情報を取得する方法がたくさんある。 その一つにcURLというのがある。 cURLではHTTPステータスコードが300系などで既に移転してしまったサイトなどは リクエストのヘッダにLocationがあればリダイレクトしてたどっていく機能がある。 //URLを指定する $url='google.co.jp'; //cURLを初期化して使用可能にする $curl=curl_init(); //オプションにURLを設定する curl_setopt($curl,CURLOPT_URL,$url); //Locationをたどる curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true); //最大何回リダイレクトをたどるか curl_setopt($curl,CURLOPT_MAXREDIRS,10); //リダイレクトの際にヘ

  • 2009-09-02

    これは高級感より割高感… とあるサイトの検索結果を取得してごにょごにょするプログラムを書いていたら、検索結果の件数によって結果が違うことに気付いた。 どうやらそのサイトの場合、結果が1件だけの時は検索結果リストではなく詳細ページに自動的に飛ばされる仕様らしく、リダイレクトするからかcurlでのデータ取得が空っぽになってしまう。I'm Feeling Lucky? 常に2件以上の結果を期待するわけにもいかないし、どうしようかと色々検索してみたら、Mac OS Xのコマンド「curl」にはオプションで-Lとするとリダイレクト先にも飛んで情報取得してくれるらしい。だったらPHPcurlにもオプションにそういう設定があるのではないかと、オプションリストを見ていたら、ありました。 CURLOPT_FOLLOWLOCATION TRUE を設定すると、サーバが HTTP ヘッダの一部として送ってくる

    2009-09-02
    misotas
    misotas 2013/04/26
    curlで参照先がリダイレクトする場合のページの取得。CURLOPT_FOLLOWLOCATIONのオプションを使うべし。CURLOPT_MAXREDIRSも。[curl][php]