0

PHP の cURL を使用して外部サイトのページにアクセスし、そのページの HTML コンテンツ全体を取得したいと考えています。

サイトにアクセスすると、同じサイトの別のページにリダイレクトされます。また、ユーザーエージェントを設定する必要があります。PC windows7 chrome および iPhone 4s 用のユーザーエージェントが必要です。これは私がこれまでに得たものです:

$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_AUTOREFERER , true)
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$kl = curl_exec ($ch);
curl_close($ch);
echo $kl;

注意:
おそらく、さらに多くのエラーが発生するでしょう。

4

3 に答える 3

4

そう:

  1. ネットで適切な UserAgent 文字列を検索します。
  2. @TroyChengCURLOPT_FOLLOWLOCATIONが示すように有効にする
  3. CURLOPT_COOKIEFILE&を有効にしCURLOPT_COOKIEJARます。
于 2013-08-12T20:15:13.840 に答える
1

Buzzのようなライブラリを使用してみませんか?

$request = new Buzz\Message\Request('GET', '/', 'http://google.com');
$response = new Buzz\Message\Response();

$client = new Buzz\Client\Curl();
// do not check https validity
$client->setVerifyPeer(false);
// define your user agent
$client->setOption('CURLOPT_USERAGENT', $userAgent);
$client->setOption('CURLOPT_COOKIEFILE', true);
$client->setOption('CURLOPT_COOKIEJAR', true);
$client->send($request, $response);

if ($response->isOk())
{
  echo $response->getContent();

  // or if you want the dom
  echo $response->toDomDocument();
}
于 2013-08-15T08:39:37.783 に答える