私はカスタムphpプロキシクラスを持っています=>
class Proxy
{
private $proxy,
$header,
$timeout,
$agent;
public function __construct($proxy, $header = null, $timeout = null, $agent = null) {
$this->proxy = $proxy;
$this->header = empty($header) ? 1 : $header;
$this->timeout = empty($timeout) ? 5 : $timeout;
$this->agent = empty($agent) ? "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8" : $agent;
}
public function set_proxy($proxy) {
$this->proxy = $proxy;
}
public function get_page($url, $referer = "http://www.google.com/") {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, $this->header);
curl_setopt($ch, CURLOPT_PROXY, $this->proxy);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->timeout);
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_USERAGENT, $this->agent);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = array();
$result['exe'] = curl_exec($ch);
$result['inf'] = curl_getinfo($ch);
$result['err'] = curl_error($ch);
curl_close($ch);
return $result;
}
}
私はそのように初期化します=>
$proxy = new Proxy("PROXY_IP:PROXY_PORT");
$content = $proxy->get_page($url);
そして、数日前まではすべてが正常に機能していました。現在、主にに関連するエラーメッセージが表示され続けていますReceived HTTP code 403 from proxy after CONNECT
。変更されていないコードがどのように機能しなくなるのかわからないので、この問題をデバッグする方法すらわかりません。
どんな助けでもいただければ幸いです。ありがとう!
編集:403ステータスコードの意味を知っています。使用しているプロキシや、使用しようとしているページに関係なく、403を取得していると言っています。