아래와 같이 중간에 "1ff8" 이라는 알수 없는 문자가 들어가네요..
헤더값 아래에만 나오면 큰문제는 없는데 데이터 값에도 중간중간 같은 문자가 들어감니다.
HTTP/1.1 200 OK
Date: Sun, 27 Mar 2011 07:50:17 GMT
Server: Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/0.9.8e-fips-rhel5 DAV/2 mod_jk/1.2.30
Connection: close
Transfer-Encoding: chunked
Content-Type: text/xml;charset=utf-8
1ff8
<?xml version="1.0" encoding="UTF-8"?>
소는는 아래와 같습니다.
<?
header("Content-Type: text/html; charset=UTF-8");
$key = "내키";
$url = "openapi.naver.com";
$url_naver = "search?key=$key&query=daiwa&display=55&start=1";
$kin_url = $url_naver."&target=shop&sort=sim";
$fp = fsockopen($url, 80, $errno, $errstr, 500);
if(!$fp){
echo "$errstr ($errno)<br />\n";
}else{
$out = "GET /$kin_url HTTP/1.1\r\n";
$out .= "Host: $url\r\n";
$out .= "Content-Type: text/xml\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$kin_data .= fgets($fp, 100);
}
fclose($fp);
}
?>
헤더값 아래에만 나오면 큰문제는 없는데 데이터 값에도 중간중간 같은 문자가 들어감니다.
HTTP/1.1 200 OK
Date: Sun, 27 Mar 2011 07:50:17 GMT
Server: Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/0.9.8e-fips-rhel5 DAV/2 mod_jk/1.2.30
Connection: close
Transfer-Encoding: chunked
Content-Type: text/xml;charset=utf-8
1ff8
<?xml version="1.0" encoding="UTF-8"?>
소는는 아래와 같습니다.
<?
header("Content-Type: text/html; charset=UTF-8");
$key = "내키";
$url = "openapi.naver.com";
$url_naver = "search?key=$key&query=daiwa&display=55&start=1";
$kin_url = $url_naver."&target=shop&sort=sim";
$fp = fsockopen($url, 80, $errno, $errstr, 500);
if(!$fp){
echo "$errstr ($errno)<br />\n";
}else{
$out = "GET /$kin_url HTTP/1.1\r\n";
$out .= "Host: $url\r\n";
$out .= "Content-Type: text/xml\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$kin_data .= fgets($fp, 100);
}
fclose($fp);
}
?>
댓글 10개
뒤늦게 답변 달아드립니다
while (!feof($fp)) {
$kin_data .= fgets($fp, 100);
}
저도 그냥 socket 으로 받아오는 library 만들어서 쓰고 있는데요
$first = TRUE;
$use_linenum = TRUE; // HTML body length
while(!feof($fp) && $line !== FALSE) {
if($use_linenum && $get_len >= $nlength)
{
$hex = $nlength = fgets($fp);
if($hex === FALSE)
break;
if($first && $hex == "\r\n")
{
$use_linenum = FALSE;
}
$nlength = hexdec(trim($nlength));
$get_len = 0;
}
$line = fgets($fp);
if($line === FALSE)
break;
$get_len += strlen($line);
if($use_linenum && $get_len >= $nlength)
{
$line = str_replace("\r\n","",$line);
}
$result .= $line;
}
while (!feof($fp)) {
$kin_data .= fgets($fp, 100);
}
저도 그냥 socket 으로 받아오는 library 만들어서 쓰고 있는데요
$first = TRUE;
$use_linenum = TRUE; // HTML body length
while(!feof($fp) && $line !== FALSE) {
if($use_linenum && $get_len >= $nlength)
{
$hex = $nlength = fgets($fp);
if($hex === FALSE)
break;
if($first && $hex == "\r\n")
{
$use_linenum = FALSE;
}
$nlength = hexdec(trim($nlength));
$get_len = 0;
}
$line = fgets($fp);
if($line === FALSE)
break;
$get_len += strlen($line);
if($use_linenum && $get_len >= $nlength)
{
$line = str_replace("\r\n","",$line);
}
$result .= $line;
}
게시글 목록
| 번호 | 제목 |
|---|---|
| 284255 | |
| 284248 | |
| 284247 | |
| 284246 | |
| 284242 | |
| 284238 | |
| 284234 | |
| 284233 | |
| 284229 | |
| 284224 | |
| 284222 | |
| 284215 | |
| 284213 | |
| 284212 | |
| 284209 | |
| 284208 | |
| 284201 | |
| 284193 | |
| 284192 | |
| 284174 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기