1 i f 2 <--- 해석가능하시죠 ?

Posted
Filed under dog발;/etc
cURL
명령행 기반 웹 요청 도구. 특히 REST 애플리케이션을 개발 테스트시에 유용하게 사용할 수 있다.

홈페이지 : http://curl.haxx.se/
cURL Tutorial
GUI 기반으로 REST 애플리케이션 테스트 해보고자 한다면 http://rest-client.googlecode.com/
 

GET
curl -v 기타 옵션 : 디버깅을 위해 요청과 응답 헤더까지 모두 표시
curl http://www.xxx.com : 일반 GET 요청

-I : 헤더만 가져오기
-i : 헤더와 바디까지 가져오기
 

POST
curl -d "param1=xxx&param2=yyyy&param3=%20OK%20" www.hotmail.com/when/junki.cgi

URL 인코딩된 파라미터를 앞에 쓰고, 그 뒤에 POST를 처리하는 주소를 넣는다.
파라미터는 무조건 먼저 인코딩 된 상태여야 한다.
POST의 Content-Type 은 application/x-www-form-urlencoded 이다.
 

파일 업로드
curl -F upload=@파일명 -F press=OK www.xxx.com/blog/post.cgi

-F 폼필드명=@파일명
-F 폼필드명=폼필드값
Content-Type 은 multipart/form-data
 

PUT
curl -T 업로드할파일명 www.uploadhttp.com/receive.cgi
 

DELETE
curl -X DELETE www.data.com/resources/223

-X 는 요청을 보내는 method를 직접 지정해주는 옵션이다.
 

Authentication
Basic Auth : curl -u username:password www.secrets.com
간단한 Tomcat 컨텍스트 리로드 스크립트

curl -u TomcatAdmin계정:비밀번호 localhost:8080/manager/html/reload?path=/
서버의 인증 방식에 따라 다음 옵션 가능

--ntlm
--digest
--negotiate
--anyauth
프록시 인증 : curl -U proxyuser:proxypassword curl.haxx.se

--proxy-ntlm
--proxy-digest
 

Referer 지정
curl -e http://리퍼러주소 daniel.haxx.se
 

User Agent 지정
curl -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" http://www.rollinglist.com
 

Redirect
curl -L www.somesite.com
curl은 기본적으로 Redirect Header를 무시한다.
-L 을 붙이면 redirect 요청을 따라서 다음 페이지로 간다.
-d/-F 옵션을 통해 POST/PUT 요청등을 보내고 나서 redirect가 실행된다면 첫번째 요청은 POST/PUT으로 처리하고, 리다이렉트는 GET으로 처리한다.
 

Cookies
curl -b "name=Daniel" www.cookiesite.com

Cookie key=value 쌍을 서버로 전송한다.
curl -D headers_and_cookies www.cookiesite.com

headers_and_cookies 파일로 헤더 정보다 모두 저장된다. 헤더 정보에는 쿠키 정보도 포함되어 있다.
curl -b stored_cookies www.cookiesite.com

stored_cookies 파일에 저장된 쿠키 정보를 서버로 전송한다.
curl -b 존재하지않는파일명 -L www.cookiesite.com

서버에서 전송한 쿠키를 리다이렉트하면서 서버측에 재전송한다.
curl -b cookies.txt -c newcookies.txt www.cookiesite.com

-b cookies.txt 는 이미 존재하는 쿠키 파일(Mozilla 호환)을 읽어서 서버에 전송하는 것이고,
-c newcookies.txt 는 새로 새성된 쿠키를 파일로 저장하는 것이다.
 

기타 파라미터
-X 메쏘드

-X 뒤에 지정된 메소드 GET/POST/PUT/DELETE/HEAD/PROPFIND 등으로 요청을 수행한다.
-H "Content-Type: text/xml"

헤더 값을 지정한다.
-H "Host:"

헤더 값을 삭제한다.



------------------------------------------------------------------------------------------
사용예제 .....

// encoding 형태로 변환해서 보내기
curl -d "USER_ID=aaa&PASSWORD=test&HP_NO=01011111111&PROC_DATE=20090311&SERVER_NM=TEST&SMS_MSG=test" http://www.aaa.co.kr/aaa.php3

// 아스키값그대로 보내기
curl --data-ascii "USER_ID=aaa&PASSWORD=test&HP_NO=01011111111& PROC_DATE=20090311&SERVER_NM=TEST&SMS_MSG=한글전송테스트 메세지" http://www.aaa.co.kr/aaa.php3

// https 사용 아스키값그대로 보내기
curl --data-ascii "USER_ID=aaa&PASSWORD=test&HP_NO=01011111111& PROC_DATE=20090311&SERVER_NM=TEST&SMS_MSG=한글전송테스트 메세지" -L -k https://www.aaa.co.kr/aaa.php3


2011/02/14 11:34 2011/02/14 11:34
Posted
Filed under dog발;/javascript
// textarea id, 제한 글자 수, 입력 결과 메세지 저장 ID
function limitCharacters(textid, limit, limitid){
	// 입력 값 저장
	var text = $('#'+textid).val();
	// 입력값 길이 저장
	var textlength = text.length;
	if(textlength < limit){
		$('#' + limitid).html('글내용을 '+limit+'자 이상 쓸수 없습니다!');
		
		// 제한 글자 길이만큼 값 재 저장
		$('#'+textid).val(text.substr(0,limit));
		return false;
	}else{
		$('#' + limitid).html('쓸수 있는 글자가 '+ (limit - textlength) +' 자 남았습니다.');
		return true;
	}
}

$(function(){
	$('#contents').keyup(function(){
		limitCharacters('contents', 20, 'charlimitid');
	})
});
출처 : mimul.com
2011/02/10 18:12 2011/02/10 18:12
Posted
Filed under dog발;/javascript


0000
1111
2222
-_-;;; 후아;;; selector 다시 공부하자 -_-;;; 한 30분 헤멨다 ㅠㅠ 흑흑;;;
2011/02/10 15:24 2011/02/10 15:24
Posted
Filed under dog발;/javascript
OnLoad : 현재 페이지 로딩 되었을 때
OnUnLoad : 현재 페이지에서 다른 페이지로 이동할 때
OnError : 현재 페이지를 읽는 중에 javascript error 발생한 경우
OnAbout : 이미지를 읽는 도중 중지했을 때
OnMouseOver : 마우스 커서를 개체 위에 두었을 때
OnMouseOut : 마우스 커서를 개체 위에 두었다가 밖으로 이동했을 때
OnClick : 링크 / 버튼을 클릭했을 때
OnDbclick : 링크 / 버튼을 더블클릭했을 때
OnMouseDown : 링크 / 버튼을 클릭했을 때 (OnClick 동일)
OnMouseUp : 마우스 버튼을 클릭했다가 떼었을 경우
OnKeyDown : 키보드 키를 눌렀을 경우
OnKeyPress : 키보드 키를 누르고 있는 경우
OnKeyUp : 키보드를 눌렀다 떼는 경우
OnFocus : 폼 양식 입력필드에서 마우스 커서가 위치할 때
OnBlur : 폼 양식 입력필드에서 다른 곳으로 마우스 커서가 위치했을 때
OnChange 폼 양식 속의 입력필드가 변경되었을 때
OnSelect 폼 양식 속의 입력필드 내에 텍스트를 선택하였을 때
Onsubmit 폼 양식을 전송할 경우
OnReset 폼 양식을 재설정 했을 경우
OnHelp HelpKey를 눌렀을 경우
OnReadyStateChange 페이지가 로드될 경우
OnAfterUpdate 폼 양식속의 입력 필드가 변경 되었을 경우
OnBeforeUpdate 폼 양식 속의 항목이 변경된 경우
OnScroll 스크롤 막대를 스크롤할 경우
2011/01/24 17:38 2011/01/24 17:38
Posted
Filed under dog발;/php
As promised here is some Bit.ly PHP example code using their API to generate URLs. There is also some extra code that deals with advanced API usage towards the end of this post. It is important to note that these examples assume that you have cURL installed. I am also opting to use the JSON method of data delivery. Now let's get to the Bit.ly basics and look at a function to generate a shortened URL.
/* Example code */  
$link = "http://www.x-pose.org";   
  
print getSmallLink($link);   
  
function getSmallLink($longurl){   
// Bit.ly   
$url = "http://api.bit.ly/shorten?version=2.0.1&longUrl=$longurl&login=YOURLOGIN&apiKey=YOURAPIKEY&format=json&history=1";   
  
$s = curl_init();   
curl_setopt($s,CURLOPT_URL, $url);   
curl_setopt($s,CURLOPT_HEADER,false);   
curl_setopt($s,CURLOPT_RETURNTRANSFER,1);   
$result = curl_exec($s);   
curl_close( $s );   
  
$obj = json_decode($result, true);   
return $obj["results"]["$longurl"]["shortUrl"];   
}
If you want to get fancy then you can add error checking. Also the variable &history=1 in the URL allows you to keep track of your generated urls via the API. Otherwise they are not saved in your history. Now lets get to some advanced Bit.ly usage. . Let's say you are trying to grab some extra data from the following Bit.ly link: http://bit.ly/info/13SH5 . Of course the most important part of that link is the Hash at the end. Here is an example how to print the Title of the page and the meta description:
/* Example code */  
$hash = '13SH5';   
$url = "http://api.bit.ly/info?version=2.0.1&login=YOURNAME&apiKey=YOURAPIKEY&hash=$hash";   
  
$s = curl_init();   
curl_setopt($s,CURLOPT_URL, $url);   
curl_setopt($s,CURLOPT_HEADER,false);   
curl_setopt($s,CURLOPT_RETURNTRANSFER,1);   
$result = curl_exec($s);   
curl_close( $s );   
  
$obj = json_decode($result, true);   
print $obj["results"]["$hash"]["htmlTitle"];   
print $obj["results"]["$hash"]["htmlMetaDescription"];
Still with me? As you know there is much more data than just the title and description for some of the info pages. Some even include automatically generated categories of what the webpage is about. So lets save those categories into an array that were tagged for this page:
/* Example code */  
foreach($obj["results"]["$hash"]["calais"] as $items){   
            $cat[] = $items[0];   
}  
As you can see Bit.ly is very powerfull stuff. Hopefuly this example code was able to help you out. Stay tuned for my next batch of useful example code that allows you to automatically make blog posts via wordpress.

출처 : http://www.x-pose.org
2011/01/12 09:27 2011/01/12 09:27