Я исследовал это и не могу найти ответ. Я хотел бы реализовать прокси-решение в моей программе 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);