Реализация прокси-сервера в PHP-приложении - PullRequest
0 голосов
/ 16 февраля 2012

Я исследовал это и не могу найти ответ. Я хотел бы реализовать прокси-решение в моей программе PHP, посредством которого PHP взаимодействует с другим IP, а не с IP-адресом сервера. Вот что делает программа: у меня есть множество блогов Blogger, которые я обновляю для многих людей. Чтобы было проще и веселее, я создал страницу php, которая автоматически записывает контент в блоги блоггеров с помощью zend (см. Код ниже). Однако Google теперь устанавливает временный блок на IP-адресе сервера после обновления нескольких разных блогов. Итак, я хотел бы интегрировать прокси-сервер (я нашел такие решения, как seo proxy, который может вращаться как 10 адресов) в мои запросы PHP.

Я прочитал такие решения, как «просто используй cURL», и посмотрел код, но я не знаю cURL и не знаю, придется ли мне менять кодировку. Например, все, что я готов о cURL, - это «загрузка» конкретной страницы без использования уникального IP-адреса для загрузки в блог. В идеале я хотел бы поместить что-то в начало php, которое говорит: «используйте этот прокси-IP для всех инструкций, приведенных ниже», а затем закройте его, когда код выполнится, но я совершенно не уверен, как это сделать.

Я вставил суть своей программы, которая пишет блогеру ниже. Кто-нибудь может сказать мне или указать мне в правильном направлении о том, как реализовать прокси с этим решением?

Примечание обо мне: я не профессиональный программист PHP. Я реализовал свое PHP-решение с помощью грубого метода проб и ошибок, а не большого знания PHP ... но обычно я могу разобраться, если указывать в правильном направлении (пример: мне пришлось изменить приведенный ниже код для работы с Blogger, но я не конечно, что делает, что именно, но это работает!). PS: я знаю, что могу сделать это через клиентское приложение, такое как Scribfire, но не хочу. Я хочу сделать эту работу:)

Спасибо всем заранее за помощь в этом вопросе.

require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_Query');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
$user = $bloguser;
$pass = $blogpass;
$service = 'blogger';
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service, null,
        Zend_Gdata_ClientLogin::DEFAULT_SOURCE, null, null, 
        Zend_Gdata_ClientLogin::CLIENTLOGIN_URI, 'GOOGLE');
$gdClient = new Zend_Gdata($client); 
$content= $body;
$url= $blogurl;
$urlforid = $url."feeds/posts/default";
$content1 = file_get_contents($urlforid );
$start = strpos($content1,'<id>');
$end = strpos($content1,'</id>',$start);
$table = substr($content1,$start,$end-$start);
$getblogid = explode("-", $table);
$blogID=$getblogid[1];
  $uri = 'http://www.blogger.com/feeds/' . $blogID . '/posts/default';
  $entry = $gdClient->newEntry();
  $entry->title = $gdClient->newTitle($title);
  $entry->content = $gdClient->newContent($content);
 $label = $gdClient->newCategory($keywords, 'http://www.blogger.com/atom/ns#');
$entry->setCategory(array(0 => $label));
 $entry->content->setType('text');
$createdPost = $gdClient->insertEntry($entry, $uri);  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...