부제 : HTTP_Request 사용하기
post 방식으로 xml 데이터 자체를 넘겨야 하는 상황이 생겼다.
HTTP_Request를 사용하면 된다고 하길래 다운 받았다.
첨엔 HTTP_Client를 사용하면 된다는 글을 보고 다운받았는데 그안에 HTTP_Request도 같이 들어 있다.
___________________________________
$> pear install HTTP_Client-1.2.1
___________________________________
그리고 아래와 같이 코딩한다.
___________________________________
이렇게 했었는데 어떤 서버에서는 잘 안되는 경우가 생긴다.
그래서 curl를 사용했다.
이게 더 간편하다.
___________________________________
<?php
___________________________________
post 방식으로 xml 데이터 자체를 넘겨야 하는 상황이 생겼다.
HTTP_Request를 사용하면 된다고 하길래 다운 받았다.
첨엔 HTTP_Client를 사용하면 된다는 글을 보고 다운받았는데 그안에 HTTP_Request도 같이 들어 있다.
___________________________________
$> pear install HTTP_Client-1.2.1
___________________________________
그리고 아래와 같이 코딩한다.
___________________________________
<?php
//pear 설치된 자신의 폴더를 설정한다.
//pear 설치된 자신의 폴더를 설정한다.
ini_set('include_path', '/usr/lib/php' . PATH_SEPARATOR . ini_get('include_path'));
require_once('HTTP/Request.php');
$url = "http://www.sample.com";
$data = '<?xml version="1.0" encoding="euc-kr"?>
<data>
<blogname>physic</blogname>
</data>';
$req = &new HTTP_Request($url);
$req->addHeader("Accept", "*/*");
$req->addHeader("Content-Length", strlen($data));
$req->addHeader("Content-Type", "text/xml;charset=euc-kr;");
$req->setBody($data);
$req->setMethod(HTTP_REQUEST_METHOD_POST);
$req->sendRequest();
echo $req->_response->_code .', ' . $req->_response->_reason; //디버깅 때문에 넣었음.
echo $req->getResponseBody();
?>
___________________________________이렇게 했었는데 어떤 서버에서는 잘 안되는 경우가 생긴다.
그래서 curl를 사용했다.
이게 더 간편하다.
___________________________________
<?php
$url = "http://www.sample.com";
$data = '<?xml version="1.0" encoding="euc-kr"?>
<data>
<blogname>physic</blogname>
</data>';
$ci = curl_init();
curl_setopt($ci, CURLOPT_RETURNTRANSFER, TRUE); //이 옵션을 넣으면 결과 페이지를 리턴받는다.
curl_setopt($ci, CURLOPT_URL, $url);
curl_setopt($ci, CURLOPT_POST, TRUE);
curl_setopt($ci, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ci);
curl_close ($ci);
echo $response;
?>___________________________________
'프로그램 경험 > PHP' 카테고리의 다른 글
[PHP] JSON 사용 (0) | 2012.03.23 |
---|---|
[PHP] 난수 생성 (0) | 2012.03.22 |
[PHP] 로그 남기기 (0) | 2012.03.05 |
PHP + PostgreSQL 연동 (0) | 2012.02.14 |
PHP로 소켓 서버 작성하기 (0) | 2011.12.11 |