Как сделать запрос на веб-страницу с помощью PHP?

Я пытаюсь добиться этого:

1-я хочу запросить страницу, например, google, но без заполнения ее поиска вручную. 2-я хочу получить результат и сохранить его в базе данных

Я видел пример этого с C # здесь

http://www.farooqazam.net/c-sharp-auto-click-button-and-auto-fill-form/comment-page-1/#comment-27256

но я бы хотел сделать это с помощью php, вы можете мне помочь?

благодаря

Solutions Collecting From Web of "Как сделать запрос на веб-страницу с помощью PHP?"

Вы должны использовать cURL для этого, не только потому, что он быстрее, чем file_get_contents, но также потому, что он имеет гораздо больше функций. Другая причина для его использования заключается в том, что, поскольку Xeoncross правильно упоминает в комментариях, файл_get_contents может быть отключен вашим веб-хостом по соображениям безопасности.

Основным примером будет следующий:

$curl_handle = curl_init(); curl_setopt( $curl_handle, CURLOPT_URL, 'http://example.com' ); curl_exec( $curl_handle ); // Execute the request curl_close( $curl_handle ); 

Если вам нужны данные возврата из запроса, вам необходимо указать параметр CURLOPT_RETURNTRANSFER :

 $curl_handle = curl_init(); curl_setopt( $curl_handle, CURLOPT_URL, 'http://example.com' ); curl_setopt( $curl_handle, CURLOPT_RETURNTRANSFER, true ); // Fetch the contents too $html = curl_exec( $curl_handle ); // Execute the request curl_close( $curl_handle ); 

Существует множество опций cURL, например, вы можете установить тайм-аут запроса:

 curl_setopt( $curl_handle, CURLOPT_CONNECTTIMEOUT, 2 ); // 2 second timeout 

Для справки всех опций см. Ссылку curl_setopt () .

 $html = file_get_contents('http://example.com'); 

это самая простая версия, которую вы получите.

 <?php $r = new HttpRequest('http://example.com/feed.rss', HttpRequest::METH_GET); $r->setOptions(array('lastmodified' => filemtime('local.rss'))); $r->addQueryData(array('category' => 3)); try { $r->send(); if ($r->getResponseCode() == 200) { file_put_contents('local.rss', $r->getResponseBody()); } } catch (HttpException $ex) { echo $ex; } ?> 

Из руководства по php …

Вы можете использовать PHP CUrl для подробных manupulations с сайтом, к которому вы обращаетесь!

вы даже можете выполнять получение и сообщения на доступном вами сайте или использовать сервисы с разных сайтов (в случае, если сайт предоставляет услуги!).

Если вы найдете имя поля (q), которое вы хотите заполнить на удаленной странице (Google), вы можете заполнить его с помощью синтаксиса GET:

 http://www.google.com/?q=hello