私がやりたいのは、ajax を使用してウィキペディアからデータを取得することです。クライアント側のスクリプトは後回しにして、ランダムなコンテンツを取得してみました。fopen() および fread() メソッドを試してみましたが、うまくいきませんでした。その後、プロキシを使用するインターネット プロバイダーのコードを含む記事を見つけました。私の場合なので、以下のコードを試しましたが、応答がありませんでした。
<?php
$opts = array('http' => array('proxy' => 'tcp://10.10.10.101:8080', 'request_fulluri' => true));
$context = stream_context_create ($opts);
$data = file_get_contents('http://www.php.net', false, $context);
echo $data;
?>
わかりましたので、適切なプロキシ値を使用して、提案されたコードを試しました:
<?php
$url = 'http://www.php.net';
$proxy = '10.10.10.101:8080';
//$proxyauth = 'user:password';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);
echo $curl_scraped_page;
しかし、それは私にこのエラーを与えます: HTTP/1.0 403 Forbidden Date: Mon, 02 Jul 2012 09:41:20 GMT Server: Apache Content-Type: text/plain 宛先ホストは禁止されています
なぜうまくいかないのか、どうすれば問題を解決できるのかわかりません。