TOR 네트워크 뒤에서 공유 서버 (포트 80 및 443 만 열려 있음)에서 PHP cURL을 사용하여 스크랩을 스크리닝하고 싶습니다. 포트 8118 및 9050이 닫혀 있기 때문에 아래의 코드를 시도하여 내 서버에서 "액세스가 거부되었습니다"오류가 발생합니다. 나는 지원에 연락했고 불가능하다고 말했다. 의심 스럽지만 영원히 수색을하고 쉬운 해결책을 찾지 못했습니다. 이견있는 사람?포트 80 또는 443의 TOR 네트워크 - 공유 서버의 TOR
<?php
$fh = fopen('curldebug.txt','w') or die($php_errormsg);
// Initialize cURL
$ch = curl_init();
// Set the website you would like to scrape
curl_setopt($ch, CURLOPT_URL, "http://www.fixitts.com/whatismyip.php");
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0');
curl_setopt($ch, CURLOPT_REFERER, 'http://www.fixitts.com');
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8118');
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_STDERR, $fh);
// Set cURL to return the results into a PHP variable
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// This executes the cURL request and places the results into a variable.
$curlResults= curl_exec($ch);
if(curl_errno($ch))
{
echo 'Curl error: ' . curl_error($ch);
}
$info = curl_getinfo($ch);
print_r ($info);
// Close curl
curl_close($ch);
fclose($fh) or die($php_errormsg);
// Echo the results to the screen>
echo $curlResults;
?>
잠깐, 뭐라구? 아닙니다.이 PHP 코드가 서버에서 실행중인 경우, '127.0.0.1'은 사용자 컴퓨터가 아닌 서버입니다. – duskwuff
@duskwuff - 그의 PHP 코드가 공유 서버라고 생각하십니까 ??? 그것은 심지어 말이되지 않습니다. 127.0.0.1은 PC에만 국한되어 있습니다. – user199340
예. PHP와 "공유 서버에서 PHP cURL 사용하기"라는 표현 사이에, 나는 이것이 웹 호스팅 서버에서 실행될 것이라는 것을 확신합니다. 해당 서버가 TOR 노드를 실행 중이면 작동 할 수도 있지만 어리석은 일입니다. – duskwuff