0

さて、それをすべて更新しました。私はこの機能を使用します:

    private function get_follow_url($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    $a = curl_exec($ch);


    if(preg_match('Location:(.*)', $a, $r)){
        $url=trim($r[1]);
        $this->get_follow_url($url);
    }
  return $a;
}

エコーされると次のようになります。

HTTP/1.1 301 Moved Permanently Server: nginx/0.7.67 Date: Sun, 14 Oct 2012 10:03:21 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Powered-By: PHP/5.2.17 X-Pingback: http://thesexguy.com/xmlrpc.php Location: http://example.com/mature Content-Length: 0

だから私は再帰を行います..場所の単語をスクレイピングした後、ページを再度フェッチしようとします...

再帰でhttp://example.com/matureに移動する必要がありますか? 私は正しいですか?しかし、場所の単語をこすり落とすことができません..なぜですか?

4

1 に答える 1

2

完全なヘッダー ( ) を取得してヘッダーを解析するCURLOPT_FOLLOWLOCATIONには、cURL を使用または設定する必要があります。CURLOPT_HEADERLocation

于 2012-10-14T09:36:02.653 に答える