PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 6
propostaff Отправлено: 01 Марта, 2012 - 10:24:42 • Тема: Заполнение и отправка формы • Форум: Вопросы новичков

Ответов: 3
Просмотров: 2583
ugin_root пишет:
propostaff
PHP:
скопировать код в буфер обмена
  1. $s = "Что такое гугл?";
  2. echo '<script type="text/javascript">
  3.  google.load("search", "1", {language : "ru"});
  4.  google.setOnLoadCallback(function() {
  5.         var customSearchOptions = {};
  6.         var customSearchControl = new google.search.CustomSearchControl("Ваш код", customSearchOptions);
  7.         customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
  8.         customSearchControl.draw("cse");
  9.         $(".gsc-search-box .gsc-input > input").val("'.$s.'");
  10.         $(".gsc-search-box .gsc-input > input").click();
  11.         $(".gsc-search-box .gsc-input > input").css({"background":"none"});
  12.         $(".gsc-search-button .gsc-search-button").click();
  13.  }, true);
  14. </script>';


juery...


Это отправка, если на сайте стоит стандартная яваскрипт форма CSE от гугл. У меня же форма кастомная и выполнена не на яваскрипте а на обычном хтмл, но по сути работает так-же.

Вот нашел код, на пхп, насколько он актуален? И если актуален, помогите пожалуйста переделать его под мой сайт если это возможно....


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $posts = 'data=значение';
  4.  
  5. $query = "
  6. POST http://сайт HTTP/1.0\r\n
  7. Referer: http://сайт \r\nUser-Agent: Opera/8.50 (Windows NT 5.1; U; ru)\r\n
  8. Content-Type: application/x-www-form-urlencoded\r\n
  9. Content-Length: ".strlen($posts)."\r\n\r\n".
  10. $posts."\r\n\r\n";
  11.  
  12. $socket = fsockopen('сайт',80,$errno,$errstr,60);
  13. fwrite($socket,$query);
  14. while(!feof($socket) s.=fgets($socket);
  15. fclose($socket);
  16.  
  17. ?>
propostaff Отправлено: 01 Марта, 2012 - 09:54:58 • Тема: Заполнение и отправка формы • Форум: Вопросы новичков

Ответов: 3
Просмотров: 2583
На моем домене есть форма поиска по гуглу. Возможно ли как-то с помощью php автоматически заполнить и отправить форму, чтобы гугл думал, что это сделал юзер?

Update:
Это обычная хтмл форма, находящаяся по адресу http://psavvy[dot]info/test[dot]html
propostaff Отправлено: 28 Февраля, 2012 - 17:50:52 • Тема: Получение URL • Форум: Apache и другие веб-серверы

Ответов: 1
Просмотров: 228
В общем необходимо следующее. Скрипт должен получать несуществующий URL, который запрашивает пользователь в бразуере. К примеру пользователь заходит на http://site[dot]com/BLA-trust_BLA
Как переадресовать пользователя на http://site[dot]com/index.php но при этом получить несуществующий URL и обработать его в скрипте ?

Если делать это с помощью апаче, то ни как не получается получить запрашиваемый URL... Как можно выйти из ситуации?
propostaff Отправлено: 28 Февраля, 2012 - 09:08:21 • Тема: 411 Content-Length error • Форум: Работа с сетью

Ответов: 2
Просмотров: 2631
Решение нашлось неожиданно. При парсинге $authtoken в конце ставился \n
И из-за этого сбивался хедер и гугл не видел content-length, который автоматом дописывал курл.
Решение - $authToken = trim(getAuthorizationToken());

Всем спасибо.


для поисковиков:
Http error 411 POST requests require a Content-length header
Решение проблемы 411 content-length error
ошибка 411 Google CSE
propostaff Отправлено: 28 Февраля, 2012 - 08:46:16 • Тема: Решить баг в небольшом скрипте • Форум: FreeLance

Ответов: 0
Просмотров: 520
Плачу 10$ за решение срочное решение проблемы.
http://forum.php.su/topic.php?fo...p;v=l#1330409233
(Добавление)
Закрыто
propostaff Отправлено: 28 Февраля, 2012 - 08:07:13 • Тема: 411 Content-Length error • Форум: Работа с сетью

Ответов: 2
Просмотров: 2631
Здравствуйте. НЕ могу понять в чем суть ошибки. На stackoverflow тоже не могут помочь, в гугле нету подходящих ответов. Вот есть участок кода

PHP:
скопировать код в буфер обмена
  1.  
  2. $authToken = getAuthorizationToken();
  3.         $xml_data = '<Batch>
  4.     <Add>
  5.    <Promotions>
  6.      <Promotion id="0001"
  7.                 queries="american born chinese, American Born Chinese, abc, ABC"
  8.                 title="American Born Chinese"
  9.                 url="http://books.google.com/books?id=vawdZyrDw64C"
  10.                 description="Graphic novel. First-person account of growing up Asian American by Gene Luen Yang."
  11.                 image_url="http://146.74.224.231/archives/Gene%20Yang.jpg" /></Promotions>
  12.                 <Promotion queries="wanderer, the wanderer"
  13.                 title="Groo the Wanderer"
  14.                 url="http://www.groo.com/"
  15.                 description="Comedy. American series illustrated by Sergio Aragones."
  16.                 image_url="http://www.newsfromme.com/images5/groo11.jpg" />
  17.     </Promotions>
  18.  </Add>
  19. </Batch>';
  20.         $ch = curl_init("http://www.google.com/cse/api/default/promotions/pe0dnd27zuc");
  21.         $header = array();
  22.         $header[] = 'Authorization: GoogleLogin auth=' . $authToken;
  23.         $header[] = 'Content-Type: text/xml';
  24.         curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  25.         curl_setopt($ch, CURLOPT_POST, 1);
  26.         curl_setopt($ch, CURLOPT_POSTFIELDS, trim($xml_data));
  27.         $result = curl_exec($ch);
  28.         $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  29.         curl_close($ch);
  30.  


Но гугл выдает ошибку 411. That’s an error. POST requests require a Content-length header. That’s all we know.

Вставка Content-Length в хедер не помогает, всеравно курл и сам эту инфу вставляет в хедер. В общем как решить проблему??

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB