запрос веб-сайта, php - PullRequest
       23

запрос веб-сайта, php

0 голосов
/ 24 февраля 2009

Как я могу запросить определенный веб-сайт с некоторыми полями и получить результаты на мою веб-страницу с помощью php?

скажем, веб-сайт xyz.com даст вам название города, если вы дадите им почтовый индекс. Как я могу получить этот easliy в php? любой снимок кода будет отличным.

Ответы [ 4 ]

4 голосов
/ 24 февраля 2009

Если я понимаю, что вы имеете в виду (вы хотите отправить запрос на сайт и получить результат для обработки и тому подобное?), Вы можете использовать cURL .

Вот пример :

<?php 
    // create curl resource 
    $ch = curl_init(); 

    // set url 
    curl_setopt($ch, CURLOPT_URL, "example.com"); 

    //return the transfer as a string 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

    // $output contains the output string 
    $output = curl_exec($ch); 

    // close curl resource to free up system resources 
    curl_close($ch);
?>

Вы можете получить Lat / Long с этого сайта с некоторым регулярным выражением, подобным этому:

if ( preg_match_all( "#<td>\s+-?(\d+\.\d+)\s+</td>#", $output, $coords ) ) {
    list( $lat, $long ) = $coords[1];
    echo "Latitude: $lat\nLongitude: $long\n";
}

Просто поместите это после функции curl_close (). Это вернет что-то вроде этого (числа изменились):

Latitude: 53.5100
Longitude: 60.2200
2 голосов
/ 24 февраля 2009

Вы можете использовать file_get_contents (и другие подобные функции класса fopen), чтобы сделать это:

$result = file_get_contents("http://other-site.com/query?variable=value");
0 голосов
/ 24 февраля 2009

Если вы хотите импортировать html на свою страницу и проанализировать его, вы, вероятно, захотите использовать cURL. Вы должны загрузить расширения на свою страницу (обычно это часть PHP - я думаю, что это нужно скомпилировать? Руководство может ответить на это)

Вот функция скручивания. Настройте свой URL как

$ PARAM = 'fribby';

$ param2 = 'ножницы';

$ URL = "www.example.com?data=$param&data2=$param2";

функция curl_page ($ url) { $ response = false; $ ch = curl_init ($ url); curl_setopt ($ ч, CURLOPT_RETURNTRANSFER, правда); curl_setopt ($ ч, CURLOPT_FAILONERROR, правда); curl_setopt ($ ч, CURLOPT_FOLLOWLOCATION, 1); curl_setopt ($ ч, CURLOPT_TIMEOUT, 30); $ response = curl_exec ($ ch); curl_close ($ ч); вернуть $ response; }

$ page_data = curl_page ($ URL);

Затем вы можете получить данные со страницы, используя синтаксический анализ DOM или материал типа grep / sed / awk.

0 голосов
/ 24 февраля 2009

Вы имеете в виду что-то вроде:

include 'http://www.google.com? Q = myquery '; ? или какие поля вы хотите получить?

Можете ли вы быть более конкретным, пожалуйста:)

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