Python 으로 pycurl 사용시 Segmentation Fault 가 뜹니다 ㅠㅠ
curl=pycurl.Curl()
curl.setopt(pycurl.VERBOSE, 1)
curl.setopt(pycurl.URL, protocol+'://'+url)
curl.setopt(pycurl.WRITEDATA, buffers)
curl.setopt(pycurl.HEADER, True)
curl.setopt(pycurl.CUSTOMREQUEST, 'GET')
curl.setopt(pycurl.RESOLVE, [url+port+origin_ip])
curl.setopt(pycurl.TIMEOUT, 10)
curl.setopt(pycurl.CONNECTTIMEOUT, 10)
curl.setopt(pycurl.DNS_USE_GLOBAL_CACHE, False)
curl.setopt(pycurl.SSL_VERIFYHOST, False)
curl.setopt(pycurl.SSL_VERIFYPEER, False)
이런 식으로 perform 을 하는데
setopt 에 RESOLVE 넣으면 특정 사이트에서 segmentation fault 에러가 납니다.
* Added blackberry-pgp.com:443:109.70.0.79 to DNS cache
* Rebuilt URL to: https://blackberry-pgp.com/
* Hostname was found in DNS cache
* Trying 109.70.0.79...
* Connected to blackberry-pgp.com (109.70.0.79) port 443 (#0)
* found 173 certificates in /etc/ssl/certs/ca-certificates.crt
* gnutls_handshake() warning: The server name sent was not recognized
* common name: WARNING couldn't obtain
* server certificate verification SKIPPED
Segmentation fault (core dumped)
OpenSSL 이나 ca-certificates.crt 도 업그레이드 했고요 ㅠㅠ
php 나 터미널상에서 curl -i -k --resolve 로 했을 때는 이런 일이 없었는데
구글에서 검색해서 나온 건 웬만한 건 해봤는데도 소용이 없네요 ㅠㅠ
그리고
VERIFYHOST 나 VERIFYPEER 의 false 는 -k 옵션처럼 꼭 사용해야합니다ㅠㅠ
댓글 달기