php?연산자가 있는 곳은 소스를 못 퍼옵니다.

lkjt의 이미지

제가 html 소스 코드 퍼오는것을 만들었는데,,,
php에서 ? 이 연산자가 있는곳은 소스를 못 퍼옵니다.
kr.yahoo.com은 잘되나
kin.naver.com/~~~ ? 3242 이것은 잘 안됩니다.

GET /패스/파일명 HTTP/1.1
이렇게 해야 되는데,,, 어떻게 해야할지요,,,

liongo의 이미지

GET /패스/파일명+인자 HTTP/1.1

로하면 php소스를 긁어오려는거 아니라면 :shock:

되지 않을가 싶습니다..

' 형식이 내용을 규정한다. '

lkjt의 이미지

+인자라는것은
/주소?3232
이것을 뜻하는거죠?

liongo의 이미지

보통 페이지는

현재 제가 보는 페이지를 예를들면..

http://bbs.kldp.org/posting.php?mode=reply&t=36470

http://bbs.kldp.org/posting.php 요부분이 페이지 에 해당합니다..

?mode=reply&t=36470 요부분이 인자이지요..

대충 보시면 아시겠지만 ?는 인자가 시작함 A=X들이 인자고 인자들의

구분선은 &로 구분합니다.. 휴우

좀더 자세한 사항은 RFC를 보셔요.. 질문내용의 깊이가 그정돈

아닌듯 싶어서 여기까지만 적겠습니다 그럼..

' 형식이 내용을 규정한다. '

lkjt의 이미지

안되는거 같은데요??..
naver의 경우에도 안됩니다..

lkjt의 이미지

RFC 문서 번호 구체적으로 알려주실수 있으신가요,,,
제가 찾아보니 없는거 같아서요,

blacknblue의 이미지

php 로 작성해보면...

$domain="bbs.kldp.org";
$port="80";
$query="/viewtopic.php?p=145187#145187";

	function getPage($domain,$port,$query) 
	{
		$fp = @fsockopen($domain, $port, &$errno, &$errstr, 1024);

		if($fp)
		{
			fputs($fp, "GET $query HTTP/1.0\r\n");
			fputs($fp, "HOST: $domain\r\n");
			fputs($fp, "User-Agent: Mozilla/4.0\r\n");
			fputs($fp, "content-type:text/html\r\n\r\n");
			while(!feof($fp))
			{
				$temp=fgets($fp,128);
				$str.=$temp;
			}

		}
		else
		{
			echo $errno.":".$errstr."\n";
		}
		@fclose($fp);
		return $str;

	}




$str=getPage($domain,$port,$query);
echo $str;

위처럼 해보면 보통 되더군요..
안되는 경우가 몇가지 있는데 그것은 읽어들인 에러 페이지 내용을 읽어 보시면 될듯.....

어쨌든 '최종' 페이지인 경우에는 보통 읽어 들일수 있습니다.

lkjt의 이미지

그럼 다른 방법이 없을까요?