image.php에 랜덤으로 이미지가 생기는데 그 이미지를 받아서 rgb값을 분석한 뒤에
1초안에 rgb값을 post형식으로 보내라. 형식은 color=255;255;255&submit=1처럼 한다.
이미지 분석 모듈.(pil)
여기서 참고받아서 pil모듈로 이미지를 분석하였고, url에서 이미지를 다운받는 부분이 잠시
헷갈렸는데,(이전까지는 그냥 cmd에서 wget으로 받았는데, 이 문제를 풀기 위해서는 wget으로
되지 않았다. wget으로는 세션값을 추가할수 없기 때문. wget으로 받았을시 그냥 검은색 이미지만
다운받아졌다.) 여기서 또 찾았다.
http://marobiana.tistory.com/103
두개를 참고하여 프로그래밍했다. 근데 해보면 알건데 referer가 이상하다고 오류가 떠서 referer설정
까지 해주니까 제대로 됬다고 나온다. 결과
import os,sys,urllib2,Image def download_photo(img_url, filename): file_path = "%s%s" % ("C:\\Users\\Ko\\Documents\\Visual Studio 2012\\Projects\\PythonApplication25\\", filename) downloaded_image = file(file_path, "wb") req = urllib2.Request('http://www.enigmagroup.org/missions/programming/3/image.php') req.add_header('Cookie','enigmafiedV4=내 쿠키값') image_on_web = urllib2.urlopen(req) while True: buf = image_on_web.read(100000000) if len(buf) == 0: break downloaded_image.write(buf) downloaded_image.close() image_on_web.close() return file_path download_photo("http://www.enigmagroup.org/missions/programming/3/image.php", "image.jpg") #image.php지만 확장자는 jpg로 바꿔서 저장한다.(그래야 제대로보임) im = Image.open('image.jpg').load()[0,0] #im에 r,g,b리스트를 넣어준다. im[0]은 r, im[1]은 g, im[2]는 b. print im #color=255;255;255&submit=1 req = urllib2.Request('http://www.enigmagroup.org/missions/programming/3/image.php','color='+str(im[0])+';'+str(im[1])+';'+str(im[2])+'&submit=1') #이렇게 만들어서 보낸다. req.add_header('Cookie','내 쿠키값') req.add_header('Referer','http://www.enigmagroup.org/missions/programming/3/image.php') print urllib2.urlopen(req).read()
'Python > 2.7 simple coding(+ c++)' 카테고리의 다른 글
Enigmagroup missions/programming 4 (0) | 2014.11.09 |
---|---|
Enigmagroup missions/programming 5 (0) | 2014.11.05 |
Enigmagroup missions/programming 2 (0) | 2014.11.03 |
Enigmagroup missions/programming 1 (0) | 2014.11.03 |
wargame.kr pw_crack (2) | 2014.10.06 |