Очень быстрый пример для начала работы с запросом fopen / curl - PullRequest
0 голосов
/ 14 июля 2011

Я хочу начать извлекать данные из comindwork, но я никогда раньше не пользовался никакими веб-сервисами, поэтому не знаю, с чего начать.

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

Я использую этот API:

Проекты ПОЛУЧИТЬ Получить все проекты

GET /projects.xml
GET|POST /project/list 

Получить одинПроект

GET /projects/{project_id}.xml
GET|POST /project/show/{project_id}
GET /projects/{project_id} 

Кто из них выполнит работу, и не могли бы вы привести краткий пример, пожалуйста?

Спасибо

Ответы [ 3 ]

1 голос
/ 14 июля 2011

Поскольку вам нужно иметь возможность POST, а также GET, curl будет хорошим выбором (хотя вы можете легко использовать и fopen для GET, и curl для POST).

пример POST с помощью curl:

$ch = curl_init();
curl_setopt_array($ch, array(
  CURLOPT_POST => 1,
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => TRUE,
  CURLOPT_POSTFIELDS => http_build_query(array(
    'param' => 'value'
  )),
));
if(curl_exec($ch) === FALSE) {
  //handle failure
} else {
  //handle success
}
curl_close($ch);

Это базовый пример, который необходимо улучшить для производственного приложения.Например, вам, вероятно, нужно проверить информацию об ответе с помощью curl_getinfo ().

пример GET с использованием fopen:

$fh = fopen($url, 'r');
$contents = fread($fh);
fclose($fh);

Недостатком является то, что если сервер возвращает значимые заголовки, вы можетене читаю их.Лучше использовать file_get_contents:

$content = file_get_contents($url);
print_r($http_response_header);

После этого вы сможете обратиться к переменной $ http_response_header, чтобы получить возвращенные заголовки.

0 голосов
/ 14 июля 2011

относительно fopen vs curl: всегда предпочитайте curl, особенно при его использовании более 1 раза.Очевидные причины, такие как гибкость, скручиваемость примерно в 5 раз быстрее.

0 голосов
/ 14 июля 2011

Я бы посмотрел на http://www.phpclasses.org/package/3329-PHP-HTTP-client-using-the-PHP-Curl-library.html, которая представляет собой простую, хорошо прокомментированную обертку вокруг curl, которая может дать вам представление о том, как она работает =)

...