('Connection aborted.', error(54, 'Connection reset by peer'))
는 또한 기계화 및 URLLIB를 통해 사이트에 액세스 시도, 모두 실패했습니다. 그러나 cURL 잘 작동합니다 (코드 끝을 참조).
, stream=True
의 조합으로 requests.get()
을 시도했으며 cURL 헤더로 요청을 시도했습니다.
대안으로 urllib/Mechanize로 이동하려고 시도했지만 둘 다 같은 오류가 발생했습니다. 헤더
import requests
import cookielib
url = "https://datamuster.marketdatasuite.com/Account/LogOn?ReturnUrl=%2fProfile%2fList"
header = {
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Encoding':'gzip,deflate,sdch',
'Accept-Language':'en-US,en;q=0.8',
'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36'
}
jar = cookielib.CookieJar()
s = requests.Session()
s.headers.update(header)
r = s.get(url, cookies=jar)
컬 테스트 :
$ curl -v -I -H "....Testing: Header...." https://datamuster.marketdatasuite.com/Account/LogOn?ReturnUrl=%2fProfile%2fList
* Hostname was NOT found in DNS cache
* Trying 54.252.86.7...
* Connected to datamuster.marketdatasuite.com (54.252.86.7) port 443 (#0)
* TLS 1.2 connection using TLS_RSA_WITH_AES_128_CBC_SHA256
* Server certificate: datamuster.marketdatasuite.com
* Server certificate: COMODO SSL CA
* Server certificate: AddTrust External CA Root
> HEAD /Account/LogOn?ReturnUrl=%2fProfile%2fList HTTP/1.1
> User-Agent: curl/7.37.1
> Host: datamuster.marketdatasuite.com
> Accept: */*
> ....Testing: Header....
>
< HTTP/1.1 200 OK