proxy 환경에서  python setup.py install 시에 아래와 같은 에러가 발생한다.

 

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661) -- Some packages may not be found!

인증서 certificate verify 시에 문제가 되는 것으로 proxy 인증서를 강제로 넣고 싶은데 따로 설정하는 방법을 모르겠다....

 

그래서 직접 setuptools 코드를 수정하였다.

 

     /usr/lib/python2.7/dist-packages/setuptools/ssl_support.py

 

위 파일을 열어보면



 

 

cert_paths = """

/etc/pki/tls/certs .....

...

...

..

등등

"""

 

이런게 있을텐데 여기에 프록시 인증서 경로를 추가해 주면 된다.

 

이렇게 수동 말고 따로 하는 방법이 있을 텐데 아직 그건 못찾겠다...

 

pydbg를 이용하여 pydbg.bp_set() 함수를 사용하니 아래와 같은 에러가 나왔다.

Traceback (most recent call last):
  File "asd.py", line 46, in <module>
    main()
  File "asd.py", line 42, in main
    dbg.bp_set(entry,handler=setallbp)
  File "C:\Python27\lib\site-packages\pydbg\pydbg.py", line 444, in bp_set
    raise pdx("Failed setting breakpoint at %08x" % address)
pydbg.pdx.pdx: Failed setting breakpoint at 00401301


처음에는 권한 문제인줄 알고 관리자 권한 실행을 해도 같은 오류가 나왔다.


별다른 이유가 없어서 생각난 것은 ASLR이었고 해당 기능을 제거하였더니 정상적으로 잘 되었다.


제거 방법은 아래 블로그를 참조하자


 http://zer0day.tistory.com/66





python web 읽기

Posted 2013. 3. 6. 16:46

import urllib
S = urllib.urlopen('http://127.0.0.1').read()
print S

 

 

파이썬 클립보드 사용하기

Posted 2013. 1. 8. 12:24

환경: Python 2.7.3

 

import wx이나 import ctype를 이용하면 되는데 모듈을 받아야되니 귀찮으니깐 간단하게 이용하는 법을 알아봤다,,,,;

 

1. 운영체제 명령어 이용하기

 

#윈도우(비스타 이상부터)

import os

copy_string = "hello"

copy_string = "echo " + copy_string + " |clip"
os.system(copy_string) 

 *참고 : 윈도우는,,,,,복사시에 echo 명령어 자체가 엔터를 붙이는걸 해결하지 못했네요;;;

 

#리눅스(xclip 설치해야함)

import os

copy_string = "hello"

copy_string = "echo " + copy_string + " | xclip -selection clipboard"
os.system(copy_string)

 *참고 : 리눅스는 echo 명령어에 -n 옵션을 붙여서 끝에 엔터를 제거할수 있고 -e 옵션을 사용하여 여러가지 형태의 문자열들을 클립보드에 넣을수 있다.

ex>

안녕하세요.

복사테스트입니다. 

 

==> echo -ne "안녕하세요.\n복사테스트입니다."|xclip -selection clipboard

 

 

2. Tkinter 이용하기

 *참고 : Tkinter는 파이썬으로 GUI를 구성할 때 사용합니다

#윈도우

from Tkinter import Tk


r = Tk()

r.withdraw()        
r.clipboard_append('hello')
r.mainloop() 

*참고 : 이렇게 하면 응답대기상태(?)가 되는데 자동으로 꺼지는건 해결 안됬다;;;

 


 

'python > 스터디' 카테고리의 다른 글

파이썬 스터디 끝  (0) 2012.06.09
파이썬 소켓 예시  (0) 2012.06.03
파이썬 시작하기  (0) 2012.05.22
파이썬 2번째 강의  (0) 2012.05.22
파이썬을 배우기 시작하였다....  (0) 2012.05.22

파이썬 스터디 끝

Posted 2012. 6. 9. 02:47

파이썬 스터디가 끝났다,,,,

 

마치 겨우 두번 들어놓곤 무슨 어떤 강의 하나라도 마친 느낌이다.

 

그래서 딱히 많은걸 배우진 않았지만 파이썬 입문? 정도는 한거같다.

 

이제는 간단한 작업같은건 파이썬으로 하게 된다.

 

다가가기 쉬운 언어인듯 하다. 한번쯤 배워두는 것도 좋다.

 

그리고 시쿨리? 도 한번 해보길 추천한다.

'python > 스터디' 카테고리의 다른 글

파이썬 클립보드 사용하기  (0) 2013.01.08
파이썬 소켓 예시  (0) 2012.06.03
파이썬 시작하기  (0) 2012.05.22
파이썬 2번째 강의  (0) 2012.05.22
파이썬을 배우기 시작하였다....  (0) 2012.05.22

파이썬 소켓 예시

Posted 2012. 6. 3. 20:47

from socket import *
host = '***.***.***.***'
port = 3332
sock = socket(AF_INET, SOCK_STREAM)
sock.connect( (host, port) )


#보내기

a = raw_input()
sock.send(a)                

 

#받기(1024 글자)
data = sock.recv(1024)

print data


sock.close()

 

====================================

 

'python > 스터디' 카테고리의 다른 글

파이썬 클립보드 사용하기  (0) 2013.01.08
파이썬 스터디 끝  (0) 2012.06.09
파이썬 시작하기  (0) 2012.05.22
파이썬 2번째 강의  (0) 2012.05.22
파이썬을 배우기 시작하였다....  (0) 2012.05.22

python challenge 2

Posted 2012. 5. 25. 23:54

2번째 문제다.

 

 

 

 

recognize the characters. maybe they are in the book,
but MAYBE they are in the page source.

 

영어를 해석해보면 문자를 찾으라. 그리고 아마도 그 문자들은 책에 있을 것이다. 하지만 그들은 페이지 소스에 있을 것이다....

 

아 뭔 개소리;; 결국 말장난. 걍 페이지 소스보기에 있다 하지;;

 

 

 

 

쨋든 페이지 소스를 보면 특수문자 작렬이다...정말 보기 싫어지는 문자들이다..

 

먼저 저 문장들을 가져온다. 직접 긁어도 되지만 파이썬으로 한번 가져와보자.

 

import urllib
web = urllib.urlopen("http://www.pythonchallenge.com/pc/def/ocr.html")

 

이 코드를 보면 import urllib 를 해준다. urllib 는 웹에 관해 쓸모있는 몇가지 기능들을 제공해준다.

 

한가지 예시만 보면 base64 인코딩과 디코딩 기능을 지원해주는 것도 있다.

 

base = urllib.base64

print base.b64decode(base.b64encode("aaaaaaaaa"))
aaaaaaaaa

 


urllib.urlopen 은 웹페이지를 가져올수 있다.

web.read() 를 해보자

 

 

 

 

웹 페이지를 긁어왔다.

 

이것 말고도 나머지 기능들이 있으나 직접 알아보자;; 다음에 시간나면 알아 볼 예정이다,,

 

쨋든 뒤에 주석부분을 가져와야 한다. index 함수를 쓸건데 코드는 맨 뒤쪽에 위치해 있으므로 문자열의 오른쪽 부터 찾이 위하여 rindex 를 쓸 것이다. 

 

import urllib
import string
web = urllib.urlopen('http://www.pythonchallenge.com/pc/def/ocr.html')
S = web.read()

data = S[S.rindex('<!--'):S.rindex('-->')]
print data

 

이렇게 해보면 <!-- 부터 --> 까지 걸러준다.

 

그리고 for 문으로 알파벳을 찾는다.

 

for el in data:
    if el.isalpha():

 L+=el

 

print L

 

난 이렇게 무식하게? 한거같은데 이 글을 보는 사람은 한번 다른 방법도 연구해보고 댓글좀,,ㅋ

 

 

 

 

 

 

'python > python challenge' 카테고리의 다른 글

python challenge 0  (0) 2012.05.22
python challenge 1  (0) 2012.05.22

python challenge 0

Posted 2012. 5. 22. 16:20

파이썬을 배우고 과제가 나왔다.

파이썬 챌린지 1번을 풀어오랬다

python challenge 를 구글에 검색하면 맨 처음 나오는 사이트에 들어가서

Click here to get challenged

이 문장을 클릭해보자


 

Hint: try to change the URL address.


이런 이상한 사진과 함께 힌트가 나온다.
이것만 보고 답은,,,이미 알꺼같다.
c언어만 한 난 2를 38번 곱하고 싶다.ㅋ아님 math.h 에 있는 pow 도,,ㅋ

근데 파이썬은 훨씬 간단한 방법이 있다.

>>> 2**38
274877906944L

저기서 L 이 붙는 이유는 int 형을 넘어서 long 형 변수다.
근데 파이썬에서 long형은 단순히 long 이 아니라 무한이란다.....ㄷㄷ

파이썬에서는 거기다가 복소수도 된다는거,,,

 


다른 방법으로는

>>> pow(2,38)
274877906944L

>>> 1 << 38
274877906944L

위에껀 c언어에도 있으니 대충 알수 있을꺼 같다.
근데 맨 밑에꺼는 모르겠다..

실험을 해보면 아마도 1* 2^38 인거같다.

ex)
요건 3 * 2^3 승
>>> 3 << 3
24

요건 5 * 2^2 승
>>> 5 << 2
20

따라서 a << n 이건 a*2^n 으로 볼수 있겠다.. 신기하다.




그리고 나의 궁금증 a >> n 은 뭘까

>>> 1024 >> 1
512
>>> 1024 >> 2
256
>>> 96 >> 2
24

감이 왔다 ㅋ

이번에는 a / 2^n 이다 ㅋㅋ

 

'python > python challenge' 카테고리의 다른 글

python challenge 2  (0) 2012.05.25
python challenge 1  (0) 2012.05.22

파이썬 시작하기

Posted 2012. 5. 22. 16:14

현재 이 글을 쓸 시점에 나온건 3.2 ,,,헐 저번주에 확인했을때만 해도 3.2.x 였다,,,,

근데 지금은 3.3 까지 나왔다.. 다 배우기도 전에 저렇게 빨리 나오면 당혹스럽잖아,,

쨋든 난 2.7을 기준으로 배우는 중이에요....ㅜ

일단 파이썬을 설치한 폴더를 path 에 등록해줍니다~

방법은 윈도우키 + break 키를 같이 누른 뒤에 고급시스템 설정에 들어가고

그리고 환경변수를 들어가서 시스템 변수에 있는 Path 의 값에 파이썬이 설치된 폴더의 로를 넣어줍니다.(난 C:\python27 이였다)

자 이제 파이썬을 실행시켜 봅시다.

윈도우키+R 을 해서 실행창을 킨다음 python 을 써도 좋고 cmd 창을 열어서 python 을 해도 되니 편한대로 하면 됩니다.

그리고 시작 -> 모든 프로그램 -> python X.XX ->IDLE(python GUI) 를 실행하면 꽤 편리한 기능을 사용할수 있어요.

들여쓰기나 syntaxhighlighting 기능(python구문 색상으로 표시) 이 있고 복사 붙여넣기가 편하다는 점에서 매우 좋은듯.

단, 단점은 cmd 모드 같은 경우는 위 화살표방향기를 누르면 전에 썻던 명령어가 바로 나왔지만 IDLE은 안그러네요;;

하지만 확실히 써보면 괜찮은듯

그리고 물론 코드를 미리 .py 파일로 저장해놓은뒤 cmd 창에서 python XXX.py 를 해도 됩니다.

다음으로는 파이썬을 웹에서도 가능합니다

크롬 웹스토어에서 python shell 도 있고

http://shell.appspot.com 에 들어가보면 파이썬 쉘이 있어요!

'python > 스터디' 카테고리의 다른 글

파이썬 클립보드 사용하기  (0) 2013.01.08
파이썬 스터디 끝  (0) 2012.06.09
파이썬 소켓 예시  (0) 2012.06.03
파이썬 2번째 강의  (0) 2012.05.22
파이썬을 배우기 시작하였다....  (0) 2012.05.22

python challenge 1

Posted 2012. 5. 22. 15:01

 

 


파이썬 챌린지 1을 풀었다..

푼지는 좀 됬는데 지금 올리는,,,

everybody thinks twice before solving this.

g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj. 

 

 

일단 문제는 이렇다..

다행인지 불행인지 모르겠지만 난 처음에 시저함호라는걸 미리 알고 있었다.,.만약 모르고 있었더라면 좀더 생각했을텐데..
 
거기다 보너스로 그림까지도 알파벳이 2칸씩 옮겨지는 힌트를 주고 있다.

파이썬 챌린지를 풀고나서 답은 꼭 봐야된다고 생각한다. 적어도 사람들과 공유정도는 해야겠지,,

왜냐하면 문제가 원하는 답이 분명 있는데 우리는 그 방법대로 안하고 훨씬 돌아가는 경우가 있기 때문이다.

내가 저 문자를 2칸씩 밀기 위해서 쓴 방법이다.

a="g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj."

b=""

temp=0

for i in a:

temp=ord(i)

if 97<=temp<=122:
    temp+=2
if temp>122:
        temp
-=26

b+=chr(temp)

 

print b






 

 

 

 

 

 


i hope you didnt translate it by hand. thats what computers are for. doing it in by hand is inefficient and that's why this text is so long. using string.maketrans() is recommended. now apply on the url.





읽어보면 maketrans() 를 쓰란다

찾아보니 번역 테이블을 반환? 이렇게 쓰인다고 한다.

그러니까 먼저 테이블을 만들고 또 translate() 라는 함수가 있다고 한다 ㅜ
이 함수는 translate(s,table) 이렇게 쓰일수 있다.
그러니까 문자열 s 에 있는 것을 table 에 맞춰 바꿔준다는 것이다. 만약 s에 'a' 라는 문자가 있는데
테이블을 보니까 a 문자가 있던 자리에 c 가 있으면 a를 c로 바꿔주는 것이다.

따라서
import string => 이게 필요하다.maketrans랑 translate 를 쓰려면
text = "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq lmu ynnjw ml rfc spj."
string.translate(text,table)




'python > python challenge' 카테고리의 다른 글

python challenge 2  (0) 2012.05.25
python challenge 0  (0) 2012.05.22