Python/2.7 simple coding(+ c++)

Enigmagroup missions/programming 3

qkqhxla1 2014. 11. 3. 11:30
image.php에 랜덤으로 이미지가 생기는데 그 이미지를 받아서 rgb값을 분석한 뒤에

1초안에 rgb값을 post형식으로 보내라. 형식은 color=255;255;255&submit=1처럼 한다.


이미지 분석 모듈.(pil)

http://kylog.tistory.com/17

http://effbot.org/downloads


여기서 참고받아서 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