2012-12-18 3 views
-1

사용자가 웹 페이지 중 하나에서 cURL을 사용할 때 특정 정보를 반환하는 방법을 알아 내려고 노력하고 있습니다. 즉, 모든 코드를 말리는 것을 원치 않습니다. ifconfig.me에서 ifconfig.me를 만졌을 때 IP 주소 만 반환하는 예제를 보았습니다. 이 작업은 Apache에서 수행되고 cURL 사용자 에이전트를 리디렉션하거나 PHP/HTML을 통해 어떻게 든 완료됩니까?사용자가 CURL을 사용할 때 특정 정보를 반환하는 방법은 무엇입니까?

해결 : @Dancrumb에게 올바른 방향으로 나를 안내해 주셔서 감사합니다. Apache mod_rewrite를 사용하여 curl 사용자 에이전트를 컬링하려는 특정 정보가있는 사용자 정의 페이지로 리디렉션 할 수있었습니다.

RewriteEngine on 
RewriteCond %{HTTP_USER_AGENT} ^curl/* 
RewriteRule ^/index\.php$ /ip.php [L] 
+0

cURL 출력이 정확히 무엇입니까? –

+0

* cURL *에서 코드를 다운로드하지 않는 이유는 무엇입니까? LWP :: UserAgent를 사용하는 사람들에게 괜찮습니까? 어때? 데스크톱 브라우저는 어떻습니까? – Quentin

+0

서버에서 말리면 어떻게됩니까? – Dancrumb

답변

1

ifconfig.me는 브라우저 요청이 아님을 확인하기 위해 머리글에서 사용자 에이전트 문자열을 사용합니다.

당신은 실행하면 :

curl ifconfig.me/ua 

당신은

curl/7.27.0 

(또는 다른 버전 문자열)을 얻는다.

따라서 HTTP 요청에서 User-Agent 헤더를 확인하면 요청이 Curl 요청인지 브라우저 요청인지 또는 다른 UA인지 확인할 수 있습니다.

+0

컬이 사용자 에이전트 (CURLOPT_USERAGENT)를 보낼 수 있다는 점은 주목할 만하다. 그래서 이것이 질문을 던지면 그것을 피할 수있다. – piddl0r

+0

나는 그런 느낌을 받았다. 그래서 curl 사용자 에이전트를 반환하려는 특정 데이터 만 포함하는 사용자 정의 페이지로 리다이렉트/리디렉션하는 데 Apache를 사용해야합니까? – jacobt777

+0

@ piddl0r yeah ... UA 문자열에 의존하는 것은 틀림없지 만 콘텐츠를 사용자 정의하는 좋은 방법입니다. – Dancrumb

관련 문제