Closed Sunosay closed 2 years ago
会遇到数组越界,说明 resp.raw 是空的,搜索结果没正常获取到,应该是你网络问题。
url 404 我就不知道怎么复现了,除非你发个 url 让我试试。
最后那个 bypass 我也不知道,除非你能提供详细的日志。
会遇到数组越界,说明 resp.raw 是空的,搜索结果没正常获取到,应该是你网络问题。
url 404 我就不知道怎么复现了,除非你发个 url 让我试试。
最后那个 bypass 我也不知道,除非你能提供详细的日志。
用的是文档里的Ascii2d的demo 无任何修改,除了把log换成print
import asyncio
from PicImageSearch import Ascii2D, Network
from PicImageSearch.model import Ascii2DResponse
proxies = None
url = "https://raw.githubusercontent.com/kitUIN/PicImageSearch/main/demo/images/test01.jpg"
file = "images/test01.jpg"
bovw = True # 是否使用特征检索
bypass = False # 是否绕过DNS污染
async def test() -> None:
async with Network(proxies=proxies, bypass=bypass) as client:
ascii2d = Ascii2D(client=client, bovw=bovw)
resp = await ascii2d.search(url=url)
#resp = await ascii2d.search(file=file)
show_result(resp)
def show_result(resp: Ascii2DResponse) -> None:
# print(resp.origin) # 原始数据
print(resp.url) # 搜索结果链接
print(resp.raw[1].origin)
print(resp.raw[1].thumbnail)
print(resp.raw[1].title)
print(resp.raw[1].author)
print(resp.raw[1].author_url)
print(resp.raw[1].url)
print(resp.raw[1].hash)
print(resp.raw[1].detail)
print(resp.raw[1].mark)
print("-" * 50)
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(test())
bypass 的报错如下
PS D:\project\Python\searchImage> py .\main.py
Traceback (most recent call last):
File ".\main.py", line 43, in <module>
loop.run_until_complete(test())
File "C:\Users\56393\AppData\Local\Programs\Python\Python37\lib\asyncio\base_events.py", line 584, in run_until_complete
return future.result()
File ".\main.py", line 18, in test
async with Network(proxies=proxies, bypass=bypass) as client:
File "C:\Users\56393\AppData\Local\Programs\Python\Python37\lib\site-packages\PicImageSearch\network.py", line 32, in __init__
from .bypass import ByPassResolver
File "C:\Users\56393\AppData\Local\Programs\Python\Python37\lib\site-packages\PicImageSearch\bypass.py", line 16, in <module>
class ByPassResolver(AbstractResolver):
File "C:\Users\56393\AppData\Local\Programs\Python\Python37\lib\site-packages\PicImageSearch\bypass.py", line 56, in ByPassResolver
async def read_result(self, tasks: Set[asyncio.Task[Any]]) -> Any:
TypeError: 'type' object is not subscriptable
那就是网络问题了,除非你配置了 proxies ,比如 http://127.0.0.1:1081
那就是网络问题了,除非你配置了 proxies ,比如
http://127.0.0.1:1081
试过挂梯子 但是也不行..用的是clash , proxies = "http://127.0.0.1:7890"
那就是网络问题了,除非你配置了 proxies ,比如
http://127.0.0.1:1081
试过挂梯子 但是也不行..用的是clash , proxies = "http://127.0.0.1:7890"
那你挂的梯子能访问 ascii2d 吗?
那就是网络问题了,除非你配置了 proxies ,比如
http://127.0.0.1:1081
试过挂梯子 但是也不行..用的是clash , proxies = "http://127.0.0.1:7890"
那你挂的梯子能访问 ascii2d 吗?
可以,也试过直接使用,是有结果的
那你把 logger.info(resp.origin)
这行的注释去掉,再跑一次,把打印的结果发一下。
把 bypass 改回 False 。 bypass 你那个报错我也无法复现。
那你把
logger.info(resp.origin)
这行的注释去掉,再跑一次,把打印的结果发一下。把 bypass 改回 False 。 bypass 你那个报错我也无法复现。
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Just a moment...</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta name="robots" content="noindex,nofollow" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link href="/cdn-cgi/styles/challenges.css" rel="stylesheet" />
</head>
<body class="no-js">
<div class="main-wrapper" role="main">
<div class="main-content">
<h1 class="zone-name-title h1">
<img class="heading-favicon" src="/favicon.ico"
onerror="this.onerror=null;this.parentNode.removeChild(this)" />
ascii2d.net
</h1>
<h2 class="h2" id="challenge-running">
Checking if the site connection is secure
</h2>
<noscript>
<div id="challenge-error-title">
<div class="h2">
<span class="icon-wrapper">
<div class="heading-icon warning-icon"></div>
</span>
<span id="challenge-error-text">
Enable JavaScript and cookies to continue
</span>
</div>
</div>
</noscript>
<div id="trk_jschal_js" style="display:none;background-image:url('/cdn-cgi/images/trace/managed/nojs/transparent.gif?ray=7514697edd078087')"></div>
<div id="challenge-body-text" class="core-msg spacer">
ascii2d.net needs to review the security of your connection before proceeding.
</div>
<form id="challenge-form" action="/search/uri?__cf_chl_f_tk=ruNEUZU_2sRCyjDhk8OUAuRZwvDNKsKsWUPj792wCJA-1664283519-0-gaNycGzNBlE" method="POST" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="md" value="5sfMu7U0H41FWrtBG4WMvCJhEBxIgtDPSASfeE36Qcw-1664283519-0-Ad1ljSGVoQYn4suAiezlu7E5JRVRmDAwSSbASaNxj0ZE9jDKU1OBxiyw95Sh0-Bxz-4657mYs3P5gaT3k0pLB_OfVUH_A1g5cHtwYXzlEz-YexafOztcCwFrPD1laOoWOzQFA6mslUchh9tf1eQTi51KRuxPf44os9RM_m6L9eW_WGx3s-DcIb1KbYcLREsR403luKPCRyAJUkqG2SNmK7enfDpxD8td4e_WXV-1jtKXNzBwvnN-YKJwIn8ddR2SdwWvwgRkUp-1rjQ6-41Oyia9ATg-RkoQG2QiqZ72VhZ4-ocCD3zv2VzuYSUpJm6DiEtQaw_co8lB3n_WR6CaUBSCsZHHblz7O5nPMDBteJZx8zNA_zeSU7T4mh_HDfL-r5llmbcMnVenJA3hyyvtMvA3fSR5eyi3L7Wi0t3uLJUAg2GbYUiSzENZtxJCOLhN81doVbvBufZwq_j3YDpQZXbPonDBK8u7rR96EewDxpK9CYJcvvQqNkxa9uxHZNu551y--82tiGErD1i7AfeKij64kUjnCNDqZ8UrV1lqi_kFoEa0kk01QVr46euhAnG8-1Hfe1NqvAWv-8qMCbuqb6-cdPDnMu3Sd9CIyIMjOdx--tpsM3INLHAl6--5xf3Kc1Q9_Wf7tTjUNuZdchiJRJl4OxW8iY3uQLDzjMPKkAIzl-6ILMbsFljGvBnd5RrPR92gYB7UfvBW8axmFGjiLBQ" />
<input type="hidden" name="r" value="SEMp2DQ2r0pcHXpam82etAjEAgtv_2E2gTk_PJUDElY-1664283519-0-AR661DlODfmRcthn5rZgtzTT8gFtw21lSEOq/ms2WySc+AoKsLyYDMh8hS9luiRod1npkMzKAUE6eqiPkoXvTe2WqpCT/Z2qD7c+FIlWotqzqCpWo07oHxmiofAxYgz20S0QOTkL1fhECrvCZt+dR1w09NCj5P0qEQYCS42knr9M/t6/1l7ZGpdQRoXx+VyFMoMgtNsY7ryP1sWlzH28rOjn1ifDLjJH3BxmRJvHRzG/SwWf32NhYPixcgRIS91fANTX7/pxKxQg5Srd4Q0ntcEcxTRDf+6Dqh1vcf/aycQaSS5rOKDJzB79WjQc2L85mUJ9AVNAw5gNAnBfgpwvwLvNottFs1y1qsNAy1iXwRjcCy9+4yxNbDK40/Gjj73SLjxj4frEkRxBh6YduDKmCpshsRVkE0K9W02amljUGxEiW1rzcea+SXtnN46GipLRqRtHNMetCE54M8flEmjcBj/TTs13FbrwydM1dOCr5OnYF+6GZdsOzB3vXcZPtSq9o3LEMl8NtPpyGw8aM/bmvCPK+4mWyJnhspxsvUFSgeK9QZqQPnuJFqKLQnpQDpKRpUwgpYxk/Z65z5NMhMdfoINmNJNttsiskPP8/TUfdzy/s+FDqw3DOu9wQuwxa5Wb9lRBfBbIDg2ofbjHyQfjRr2VP5mrmjQ2C4Zt8FFcvGw+cJPcQYXiJFPDhOV61u9NvadIeWMKoSU/E3tayxCg/WcGXapv3o+xvM5YlybHz9JJCRl11ACstjii4+UQo9lzHmsdcwndgSq2WhYtOHOF0bSb6pu0SDr2RRJB3ganAH/NmXoiTNU5M77zFeJjUnWgPu3xwbYyFNhAZdb+eS0IQV6q4HFjGo8ghtRxnVc1BWXN0OFhDNnQM+h9lGAbyBX3TF/kAAggrQHgP2dfDq49O7E0w8KEoq9O/r9cuA937ttGwLv2ZksmJdhVJs7Asv2a8EIam+I/ObTo76G5aDl7wJ7ckMFWjijH6P3zoEiWlO1bxF0Daol6qCFS6wrgcSF7fwKjYd+BRM0qqMKMeZO+X8Zkni0x4R8tr1v5uN6E8S+RTGfmGXNhZ0/ZItsAg2zjeCa8Jw+xXopj2+OA1ZY3hr8bCEoDnAtuGjT4dr8dshETD7BFjYVLdpoPt6MBt6oz0MLd7yFmM9wy+AJJhGJYyTejSEOtbbD0Pntujc6tX2oIV1KZSvOLFdn6CjPGNDGANMP/IwHCtC7wZOHYMlwlIB33kpQ0ysNSuJe8jZ+ed9JD43R4nWpLYx1X5h6X8QVnJbf23/9buFbw50cZ6lrE+dCQTkTjJwC0MYKQpYxKFApp7KOj3X2XBRMlTO2qTK4ZztDvLaJYoOLdFu4w06Nv1jijwzJwduofBIEHOn8MgbQNBZa3c0BO9s2V6L5OahZJeCpYQ2OHMzjHDMiDCr/VgyFBDtOwNeJyDT+UbRIPdxe7eQb0ZUJuOE3B9ZxOdX/PJEzD1jhfHLEx+WBjjRNeheWL7vzeeyzi5OVOvHCsW8MSvqxGnJDIeDylHeaB44lE3PwHDiZNRE/oRsVMFbL57qM="/>
</form>
</div>
</div>
<script>
(function(){
window._cf_chl_opt={
cvId: '2',
cType: 'managed',
cNounce: '46982',
cRay: '7514697edd078087',
cHash: 'da932709c464c9e',
cUPMDTk: "\/search\/uri?__cf_chl_tk=ruNEUZU_2sRCyjDhk8OUAuRZwvDNKsKsWUPj792wCJA-1664283519-0-gaNycGzNBlE",
cFPWv: 'g',
cTTimeMs: '1000',
cTplV: 4,
cTplB: 'cf',
cRq: {
ru: 'aHR0cHM6Ly9hc2NpaTJkLm5ldC9zZWFyY2gvdXJp',
ra: 'TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzk5LjAuNDg0NC44MiBTYWZhcmkvNTM3LjM2',
rm: 'UE9TVA==',
d: 'OYcHM8AffquS9DvUDINyNr31oLp86tMmTSyImI6fdU1G1BnPFVgvDYYMWJ8vtBK6KilcpeAJtYnIA8jSmJTqMrvLJ4Wr1sCdLAna3BiTDEK/1HUeB+VYvN8eNqIGg71t+yb/+2cM7EizPowznhtKshAFV9fs1TE+XcxwfuNRmV51CG2kMGfDj080EW6kTaYwq8jVvtFSZmnGcpUBtxinoNdk0RE9n5l4FzwgDmvJ1Krn71n79pG7z2B83kPW1DkINmoJHrwkeglfOeGo2/bln7JLIefnJ34OrN+EcwGWlrUFYxqf4RqjtLgNLHaY2w7f8riz32WHdsOSFqTnKwwyJk/g7K9gc5+m9pzabT318pKol3nrnpR+nB6Ppkk5YrBykv3GadgLNQn7Ime9RrkNsA1EtpASQfhOeXUP7CFLf+Bru56e0/2vUEk0SWKxK9cqGSU6+OKwHKtJ2Yb2WIr7plXyNeM7hRSkG3g4R6CZYCe7Ha6U48a8OrmUMCowSO54LCK+4SWspMEyvJGc6UjpwdX2NR+Udt48sCBXh1V/Is7mQ/x2pvh6+2zRu8QylljWu5pTnGDCrZoalxcufKt7dth/mnHM9GQKYxi2O+z5IONAeOVRevux00ytgRp2O/q8723XXz3RdS44umSKn4BqFKS+glgqHuLWEOcCBivKwKO4ccHKFWnMLOF74ORA0QCG',
t: 'MTY2NDI4MzUxOS44MTUwMDA=',
m: 'NjBbvs1HUHIHNJu42A/m+I44a48iA8WQsX98r+YTfJo=',
i1: 'Oq5H4W0e3D2Qfpn6///cdQ==',
i2: '9zzaitjUl+tNu7WNPy3vLQ==',
zh: 'lBxCieQpkhIHubgKnc9ER+ae9k4MjDZMrA0aIX8vY9I=',
uh: 'FG/rQB5A3oMsViSOvzHy/Yz4Yg41uhiEOKdRek6QBDY=',
hh: 'UvL/fnJa0zOA1MTuEDgiLTU6TTQ4uCIB+JWwFzj8+nY=',
}
};
var trkjs = document.createElement('img');
trkjs.setAttribute('src', '/cdn-cgi/images/trace/managed/js/transparent.gif?ray=7514697edd078087');
trkjs.setAttribute('style', 'display: none');
document.body.appendChild(trkjs);
var cpo = document.createElement('script');
cpo.src = '/cdn-cgi/challenge-platform/h/g/orchestrate/managed/v1?ray=7514697edd078087';
window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;
window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, -window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;
if (window.history && window.history.replaceState) {
var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;
history.replaceState(null, null, "\/search\/uri?__cf_chl_rt_tk=ruNEUZU_2sRCyjDhk8OUAuRZwvDNKsKsWUPj792wCJA-1664283519-0-gaNycGzNBlE" + window._cf_chl_opt.cOgUHash);
cpo.onload = function() {
history.replaceState(null, null, ogU);
};
}
document.getElementsByTagName('head')[0].appendChild(cpo);
}());
</script>
<div class="footer" role="contentinfo">
<div class="footer-inner">
<div class="clearfix diagnostic-wrapper">
<div class="ray-id">Ray ID: <code>7514697edd078087</code></div>
</div>
<div class="text-center">Performance & security by <a rel="noopener noreferrer" href="https://www.cloudflare.com?utm_source=challenge&utm_campaign=m" target="_blank">Cloudflare</a></div>
</div>
</div>
</body>
</html>
那就是遇到 Cloudflare 5秒盾了。 我还以为这个问题已经被解决了。
那就是遇到 Cloudflare 5秒盾了。 我还以为这个问题已经被解决了。
那请问要如何处理(:з」∠)
那就是遇到 Cloudflare 5秒盾了。 我还以为这个问题已经被解决了。
那请问要如何处理(:з」∠)
你先试试这个:
async with Network(proxies=proxies, headers={"User-Agent": "PostmanRuntime/7.29.2"}) as client:
那就是遇到 Cloudflare 5秒盾了。 我还以为这个问题已经被解决了。
那请问要如何处理(:з」∠)
你先试试这个:
async with Network(proxies=proxies, headers={"User-Agent": "PostmanRuntime/7.29.2"}) as client:
不行(:з」∠)
你试试最新的代码,跑 demo 。
你试试最新的代码,跑 demo 。
还是不行
[zyw@VM-16-4-centos python]$ python3 demo_ascii2d.py
2022-10-02 20:24:58.384 | INFO | __main__:show_result:38 - <!DOCTYPE html>
<html lang="en-US">
<head>
<title>Just a moment...</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta name="robots" content="noindex,nofollow" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link href="/cdn-cgi/styles/challenges.css" rel="stylesheet" />
</head>
<body class="no-js">
<div class="main-wrapper" role="main">
<div class="main-content">
<h1 class="zone-name-title h1">
<img class="heading-favicon" src="/favicon.ico"
onerror="this.onerror=null;this.parentNode.removeChild(this)" />
ascii2d.net
</h1>
<h2 class="h2" id="challenge-running">
Checking if the site connection is secure
</h2>
<noscript>
<div id="challenge-error-title">
<div class="h2">
<span class="icon-wrapper">
<div class="heading-icon warning-icon"></div>
</span>
<span id="challenge-error-text">
Enable JavaScript and cookies to continue
</span>
</div>
</div>
</noscript>
<div id="trk_jschal_js" style="display:none;background-image:url('/cdn-cgi/images/trace/managed/nojs/transparent.gif?ray=753d6b047864ce44')"></div>
<div id="challenge-body-text" class="core-msg spacer">
ascii2d.net needs to review the security of your connection before proceeding.
</div>
<form id="challenge-form" action="/search/file?__cf_chl_f_tk=s2Ax0w5gbs2inR3gIEhGedEKmPXd8A48p0ZhddEuzpg-1664713498-0-gaNycGzNBaU" method="POST" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="md" value="GTezWVWWHTWoH8YF4rC_1kWfX.enxlNc0sdtQle.Qfw-1664713498-0-ARvbBWZil2HD0eF4jNogwponhMWNscjDOzEO5yXQ0FaBU63eT4uBGfliRwcq7PM7vcyf8e-B0e6H3yrG2BQZb3PeFmXoZcqsjMDBn-3CfQlcY2f0MOutcBvAAGoKtAT7AVTID_ttdNEvyiwYKLghMmUyIYESRw3w-fE_pVwW9Xscd9lNcLnxORUbX0wQ_vTXkpsbkCtYXrghtXtBOxQ6UmWeHtqPWod_saylRiLHz4Uzf-kOeZu1NQ3qmjSWJhXVZUBYI5CRFIqGyo79S9g2OEoJn0IkavpgEwXNsY_Lc6CyFOyDfSpXMjM3TT-K4OFJEGFnf6w0AjolvNIrmFnJJ9TUMl5j1GnjzBLK_raU4wRvI5G7GNDRPEetBv_sK-9X-gPw1vaqwUmc657UNbeEF6oCEXD2Rzk3c74woWm8pLAN4sMVtFs44vKLhig7LjvXivPcX7OgiTzZhv4YD2FrKhkhovAq25izjgM_7vIhf3EhbnRG3oMRm0XVh7WsYvyIAEP6GzO7UTygjfjAixCGhhd0dU1mcgt3DMVucdAGunooUwhjXMGcCQmSq-Tgrr1qncxZ4va25Dm_kwew2EMOpFy-ZeIFT9WW4nCAxLu-j-oduqRMuNygGZXogv--nTqmNeA9ARLdDkjfIr8QCk4vaSJ4frvmQIun2ne96dXHhab3Xgp_M6AKjf2ox7B_DR-wHCeeIZ7vKozqOcySB0aupZo" />
<input type="hidden" name="r" value="GfD82Urlg_ZCIHZcbo5m4FXqB5gpqxKka2JZGn0yxl8-1664713498-0-AQMkS5/I/46mnuQEdrjKL3fUyEm+HDupm3psOamCoW3D+R6zbkEHgNovGQCb9vfcy5V7zg9twh/mk9gjjKo5idK5XckMYlX+JHpuETYyOiag1DF2oXV+piqj9SxvMLU5msBizWnKv5p2Ci3Kd7lcpvyKi+QwbrSY51AlQbQdL23Dbr49QyklK7xOmdCk5VOMDRICpRYGfurSX1jxhcxJe6ScMB/dKypmKIhjBGoBN4rj13cq770x/zdhDgtEMMZ+q7lKyWbMMqPDqW1+GOxPWvB6HwItjwI8MIBROg2hl9q5eRhH91lIQTMH6pKVB9Xb7kG7qUQgKUopu/QRee34iumuT0KCXM7hRIi8Q/c0rX0WSHdOEzLUAHh/mPuJFnuGi9da4p/xH3rWJ1UCMiiyT9GT7t/JgNATLJsWK9h8tyUgUD+bqmAhFUdXfm/8YtPIrL9c4zKTBvG1afoEWSJRrMwxa3MvydrcdFokGsETzF+i69Q3rxJSSwl6OMBd28DVP4gfIHXcGH8cgNsE08tMPZV/ob1I1fM4GRwzKJhbCzy8NYRr5X3+crimmQ9Ie+UWW/jsKMGKl4uz8aTniRuyrx4wBqHUeTpdrK/FEU+Vd//mb1PmOg5nqSBHwEQoiha7yFKbj7TVGPf53/20mP8XwxXF6E8X3TE+/6hpHy7qKrBZ1NhD324w/bVULSQKhJyAftvbLy/RHyuCwOM5/nP8BpVHE7owYw21wxnv3sJF2CvPJUlWQGMUrbv3Gs6CNOQWHPnGCqck3L6vGI1vp1j6JplhVhUej8At64oen6DlSOBD6d1vZKnDAiA7DOqBGSN9MgbPxPhUiFFj/94mGal3mngQB31r8xQ4aja6pQ5sOKf3YGclVAmKI1oNZCDpXMcglLw5ps7CfQSxvS51p23dbZswZMd0TVhCrTs10Vq6+XyKE4R4qJquPN8ljVmPwwvbCiSkR7eARB0T2+hz3CR2Ah8wyQlXiMu4yuQJMMwxRrbSSF2FPH0Qzc92xeyB1885Z1OaMElBH/JxHSaat35TbrIhYibwfTcbez8tforbBv7Ri+FhViahga3yr+RMX9Bkoq8vZcl6wLMyVrNl31G0SOudy8dR8UAP8O9xY+yQCSDDPfI3PRzxTtqjJom73rq8rtDuF0nK6+F+CYtoQbskrWMZOgXAYIlS59QAMvZMDCJaNNz7epVUPN6hqRv/qvwz4xnW48E1yP/BgS40u2y5xGsi/ao2lnXBpWigmxCOtIeq4qlJTUnIvVr8JUHEp8aFnIqg0ox1uUuIrWzVmEVNMnVeSolkIY3cr55IFgSRAVZQyO8ld+v2bzAZUhhDte2V/XDRvxcVw26tlTx+EHvzDiPD4Q7+C/kE0vh7B2jcNEMB"/>
</form>
</div>
</div>
<script>
(function(){
window._cf_chl_opt={
cvId: '2',
cType: 'managed',
cNounce: '79894',
cRay: '753d6b047864ce44',
cHash: 'b91de03a1bc1e3d',
cUPMDTk: "\/search\/file?__cf_chl_tk=s2Ax0w5gbs2inR3gIEhGedEKmPXd8A48p0ZhddEuzpg-1664713498-0-gaNycGzNBaU",
cFPWv: 'b',
cTTimeMs: '1000',
cTplV: 4,
cTplB: 'cf',
cRq: {
ru: 'aHR0cHM6Ly9hc2NpaTJkLm5ldC9zZWFyY2gvZmlsZQ==',
ra: 'TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzk5LjAuNDg0NC44MiBTYWZhcmkvNTM3LjM2',
rm: 'R0VU',
d: 'O4NOuIpwXo/Tjj3IwtFsdm2KBbbz7U51oJYsztE2UDArEqQMU6sjY95EvMoaCQmsntr94Y48ICrc5R7Nh9tL4z6b76FdOMN5ZOloRi9i6SoCa3oJ2UqL8tWTmWKadFXXRAYU82zKbdIJSdRAzaEPQQLltNTnBI88Arl/DtcDg1EetjyYStLwb9H+gasD5qnWNzIxuLjHsqCm43S2MfHjkc/aGtSL965sLOBPeHrFb2jor7tuofHOztRzDOo9W9UEADY0QWfvp9/FzFjL9SX5V0DKKYLUAvloMXwRXz/jd2RIJmWUZSmjF0y4vUBkzUfUkcs1/rmOeDDKVgBFXOzsplAiFNff7lbVmVGJG0OwXJaFlBmqcf0bPvB6oAGjE1bcHNIHzd0blGOnpu0yKvWtSNPmhb0KalRWPU2E+ybWuIaPDB8sKU8dLAGLkQl69kyNTz2pg9OpTcGK2j39yXwHMajsvw1QJgDJ87li3CFcj56yHu55JVxcqYb4UZq4P/GlP4CY3ObWu9RRAwcRK3zuwZJapfvTZp+vgbgVSvESk+AC/YZFyF/bL3NWMNWh/OBvdruVWVZYqOk29KQ/mMJM+noeb5CnvREjkQIhejUwRLDQ0Uhg3HVc6t2zDWqJDvejlaDCGciKGJqsdIvqcSPqqTEajq3ACsuEQ69qAKogVLLcLoW6ljlAHhu9FMxssqGO',
t: 'MTY2NDcxMzQ5OC4zMTcwMDA=',
m: 'sWsmE0vuV7vVHCmO7RaQp3c/zVN/EMtDMfpspEYgVLY=',
i1: '3A0Qmixrk3qYJL7hIXkRjA==',
i2: '7snQa/cpUHI35aYg7VSWHA==',
zh: 'lBxCieQpkhIHubgKnc9ER+ae9k4MjDZMrA0aIX8vY9I=',
uh: 'FG/rQB5A3oMsViSOvzHy/Yz4Yg41uhiEOKdRek6QBDY=',
hh: 'UvL/fnJa0zOA1MTuEDgiLTU6TTQ4uCIB+JWwFzj8+nY=',
}
};
var trkjs = document.createElement('img');
trkjs.setAttribute('src', '/cdn-cgi/images/trace/managed/js/transparent.gif?ray=753d6b047864ce44');
trkjs.setAttribute('style', 'display: none');
document.body.appendChild(trkjs);
var cpo = document.createElement('script');
cpo.src = '/cdn-cgi/challenge-platform/h/b/orchestrate/managed/v1?ray=753d6b047864ce44';
window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;
window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, -window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;
if (window.history && window.history.replaceState) {
var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;
history.replaceState(null, null, "\/search\/file?__cf_chl_rt_tk=s2Ax0w5gbs2inR3gIEhGedEKmPXd8A48p0ZhddEuzpg-1664713498-0-gaNycGzNBaU" + window._cf_chl_opt.cOgUHash);
cpo.onload = function() {
history.replaceState(null, null, ogU);
};
}
document.getElementsByTagName('head')[0].appendChild(cpo);
}());
</script>
<div class="footer" role="contentinfo">
<div class="footer-inner">
<div class="clearfix diagnostic-wrapper">
<div class="ray-id">Ray ID: <code>753d6b047864ce44</code></div>
</div>
<div class="text-center">Performance & security by <a rel="noopener noreferrer" href="https://www.cloudflare.com?utm_source=challenge&utm_campaign=m" target="_blank">Cloudflare</a></div>
</div>
</div>
</body>
</html>
2022-10-02 20:24:58.385 | INFO | __main__:show_result:39 - https://ascii2d.net/search/file
2022-10-02 20:24:58.385 | ERROR | asyncio.events:_run:88 - An error has been caught in function '_run', process 'MainProcess' (6390), thread 'MainThread' (139734124500800):
Traceback (most recent call last):
File "demo_ascii2d.py", line 54, in <module>
loop.run_until_complete(test())
│ │ └ <function test at 0x7f16532d3400>
│ └ <function BaseEventLoop.run_until_complete at 0x7f16587e1c80>
└ <_UnixSelectorEventLoop running=True closed=False debug=False>
File "/usr/local/lib/python3.7/asyncio/base_events.py", line 571, in run_until_complete
self.run_forever()
│ └ <function BaseEventLoop.run_forever at 0x7f16587e1bf8>
└ <_UnixSelectorEventLoop running=True closed=False debug=False>
File "/usr/local/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
self._run_once()
│ └ <function BaseEventLoop._run_once at 0x7f16587e4620>
└ <_UnixSelectorEventLoop running=True closed=False debug=False>
File "/usr/local/lib/python3.7/asyncio/base_events.py", line 1775, in _run_once
handle._run()
│ └ <function Handle._run at 0x7f1658a19950>
└ <Handle <TaskStepMethWrapper object at 0x7f16532d2828>()>
> File "/usr/local/lib/python3.7/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
│ │ │ │ │ └ <member '_args' of 'Handle' objects>
│ │ │ │ └ <Handle <TaskStepMethWrapper object at 0x7f16532d2828>()>
│ │ │ └ <member '_callback' of 'Handle' objects>
│ │ └ <Handle <TaskStepMethWrapper object at 0x7f16532d2828>()>
│ └ <member '_context' of 'Handle' objects>
└ <Handle <TaskStepMethWrapper object at 0x7f16532d2828>()>
File "demo_ascii2d.py", line 24, in test
show_result(resp)
│ └ <PicImageSearch.model.ascii2d.Ascii2DResponse object at 0x7f16532814a8>
└ <function show_result at 0x7f16532d37b8>
File "demo_ascii2d.py", line 40, in show_result
logger.info(resp.raw[1].origin)
│ │ │ └ []
│ │ └ <PicImageSearch.model.ascii2d.Ascii2DResponse object at 0x7f16532814a8>
│ └ <function Logger.info at 0x7f165712e048>
└ <loguru.logger handlers=[(id=0, level=10, sink=<stderr>)]>
IndexError: list index out of range
你看看你的 OpenSSL 版本:
import ssl
print(ssl.OPENSSL_VERSION)
你看看你的 OpenSSL 版本:
import ssl print(ssl.OPENSSL_VERSION)
OpenSSL 1.0.2k-fips 26 Jan 2017
你看看你的 OpenSSL 版本:
import ssl print(ssl.OPENSSL_VERSION)
OpenSSL 1.0.2k-fips 26 Jan 2017
呃,这版本也太老了,升级一下再看看。 ~而且这个版本还没修复 heartbleed 漏洞。~ 看错了
你看看你的 OpenSSL 版本:
import ssl print(ssl.OPENSSL_VERSION)
OpenSSL 1.0.2k-fips 26 Jan 2017
呃,这版本也太老了,升级一下再看看。 ~而且这个版本还没修复 heartbleed 漏洞。~ 看错了
好家伙 折腾了半天 终于好了 感觉就离谱 我明明openssl已经升级好了 py3.7编译了好几遍都是老版本 然后又精神恍惚的绑了几遍软链接 突然python显示是新版本 python3显示的是老版本 明明绑的命令是一样的... 总之多谢大佬了(●ˇ∀ˇ●)
说起来之前都没人遇到并反馈这个问题,会不会单纯就和 Python 以及 OpenSSL 版本有关系?
如果你现在把 demo 里改一下: cf_bypass = False
,再跑一下会是什么结果?
说起来之前都没人遇到并反馈这个问题,会不会单纯就和 Python 以及 OpenSSL 版本有关系? 如果你现在把 demo 里改一下:
cf_bypass = False
,再跑一下会是什么结果?
之前是系统装起来自带的,已经开始有点后悔最开始装的7了 试了一下不行,新型报错(因为不知道openssl要多新,所以直接升到了最新(:з)∠) ~用力过猛~
[zyw@VM-16-4-centos python]$ python demo_ascii2d.py
OpenSSL 1.1.1n 15 Mar 2022
SSL handshake failed on verifying the certificate
protocol: <asyncio.sslproto.SSLProtocol object at 0x7f577ad20438>
transport: <_SelectorSocketTransport fd=7 read=polling write=<idle, bufsize=0>>
Traceback (most recent call last):
File "/usr/local/python3/lib/python3.7/asyncio/sslproto.py", line 625, in _on_handshake_complete
raise handshake_exc
File "/usr/local/python3/lib/python3.7/asyncio/sslproto.py", line 189, in feed_ssldata
self._sslobj.do_handshake()
File "/usr/local/python3/lib/python3.7/ssl.py", line 763, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)
SSL error in data received
protocol: <asyncio.sslproto.SSLProtocol object at 0x7f577ad20438>
transport: <_SelectorSocketTransport closing fd=7 read=idle write=<idle, bufsize=0>>
Traceback (most recent call last):
File "/usr/local/python3/lib/python3.7/asyncio/sslproto.py", line 526, in data_received
ssldata, appdata = self._sslpipe.feed_ssldata(data)
File "/usr/local/python3/lib/python3.7/asyncio/sslproto.py", line 189, in feed_ssldata
self._sslobj.do_handshake()
File "/usr/local/python3/lib/python3.7/ssl.py", line 763, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)
SSL handshake failed on verifying the certificate
protocol: <asyncio.sslproto.SSLProtocol object at 0x7f577ad20a20>
transport: <_SelectorSocketTransport fd=7 read=polling write=<idle, bufsize=0>>
Traceback (most recent call last):
File "/usr/local/python3/lib/python3.7/asyncio/sslproto.py", line 625, in _on_handshake_complete
raise handshake_exc
File "/usr/local/python3/lib/python3.7/asyncio/sslproto.py", line 189, in feed_ssldata
self._sslobj.do_handshake()
File "/usr/local/python3/lib/python3.7/ssl.py", line 763, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)
SSL error in data received
protocol: <asyncio.sslproto.SSLProtocol object at 0x7f577ad20a20>
transport: <_SelectorSocketTransport closing fd=7 read=idle write=<idle, bufsize=0>>
Traceback (most recent call last):
File "/usr/local/python3/lib/python3.7/asyncio/sslproto.py", line 526, in data_received
ssldata, appdata = self._sslpipe.feed_ssldata(data)
File "/usr/local/python3/lib/python3.7/asyncio/sslproto.py", line 189, in feed_ssldata
self._sslobj.do_handshake()
File "/usr/local/python3/lib/python3.7/ssl.py", line 763, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)
SSL handshake failed on verifying the certificate
protocol: <asyncio.sslproto.SSLProtocol object at 0x7f577ad20d30>
transport: <_SelectorSocketTransport fd=7 read=polling write=<idle, bufsize=0>>
Traceback (most recent call last):
File "/usr/local/python3/lib/python3.7/asyncio/sslproto.py", line 625, in _on_handshake_complete
raise handshake_exc
File "/usr/local/python3/lib/python3.7/asyncio/sslproto.py", line 189, in feed_ssldata
self._sslobj.do_handshake()
File "/usr/local/python3/lib/python3.7/ssl.py", line 763, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)
SSL error in data received
protocol: <asyncio.sslproto.SSLProtocol object at 0x7f577ad20d30>
transport: <_SelectorSocketTransport closing fd=7 read=idle write=<idle, bufsize=0>>
Traceback (most recent call last):
File "/usr/local/python3/lib/python3.7/asyncio/sslproto.py", line 526, in data_received
ssldata, appdata = self._sslpipe.feed_ssldata(data)
File "/usr/local/python3/lib/python3.7/asyncio/sslproto.py", line 189, in feed_ssldata
self._sslobj.do_handshake()
File "/usr/local/python3/lib/python3.7/ssl.py", line 763, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)
2022-10-03 01:20:52.369 | ERROR | asyncio.events:_run:88 - An error has been caught in function '_run', process 'MainProcess' (2445), thread 'MainThread' (140013956937536):
Traceback (most recent call last):
File "/usr/local/python3/lib/python3.7/site-packages/aiohttp/connector.py", line 980, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs) # type: ignore[return-value] # noqa
│ │ │ │ └ {'ssl': <ssl.SSLContext object at 0x7f577ad688d0>, 'family': <AddressFamily.AF_INET6: 10>, 'proto': 6, 'flags': <AddressInfo....
│ │ │ └ (functools.partial(<class 'aiohttp.client_proto.ResponseHandler'>, loop=<_UnixSelectorEventLoop running=True closed=False deb...
│ │ └ <function BaseEventLoop.create_connection at 0x7f5780af52f0>
│ └ <_UnixSelectorEventLoop running=True closed=False debug=False>
└ <aiohttp.connector.TCPConnector object at 0x7f577ad8bc50>
File "/usr/local/python3/lib/python3.7/asyncio/base_events.py", line 959, in create_connection
raise exceptions[0]
└ [OSError(113, "Connect call failed ('2606:4700:20::681a:548', 443, 0, 0)")]
File "/usr/local/python3/lib/python3.7/asyncio/base_events.py", line 946, in create_connection
await self.sock_connect(sock, address)
│ │ │ └ ('2606:4700:20::681a:548', 443, 0, 0)
│ │ └ <socket.socket [closed] fd=-1, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_STREAM, proto=6>
│ └ <function BaseSelectorEventLoop.sock_connect at 0x7f5780635e18>
└ <_UnixSelectorEventLoop running=True closed=False debug=False>
File "/usr/local/python3/lib/python3.7/asyncio/selector_events.py", line 464, in sock_connect
return await fut
└ <Future finished exception=OSError(113, "Connect call failed ('2606:4700:20::681a:548', 443, 0, 0)")>
File "/usr/local/python3/lib/python3.7/asyncio/selector_events.py", line 494, in _sock_connect_cb
raise OSError(err, f'Connect call failed {address}')
└ 113
OSError: [Errno 113] Connect call failed ('2606:4700:20::681a:548', 443, 0, 0)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "demo_ascii2d.py", line 57, in <module>
loop.run_until_complete(test())
│ │ └ <function test at 0x7f577ad8fa60>
│ └ <function BaseEventLoop.run_until_complete at 0x7f5780af3620>
└ <_UnixSelectorEventLoop running=True closed=False debug=False>
File "/usr/local/python3/lib/python3.7/asyncio/base_events.py", line 571, in run_until_complete
self.run_forever()
│ └ <function BaseEventLoop.run_forever at 0x7f5780af3598>
└ <_UnixSelectorEventLoop running=True closed=False debug=False>
File "/usr/local/python3/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
self._run_once()
│ └ <function BaseEventLoop._run_once at 0x7f5780af5f28>
└ <_UnixSelectorEventLoop running=True closed=False debug=False>
File "/usr/local/python3/lib/python3.7/asyncio/base_events.py", line 1775, in _run_once
handle._run()
│ └ <function Handle._run at 0x7f5780abe268>
└ <Handle <TaskStepMethWrapper object at 0x7f577ad8bbe0>()>
> File "/usr/local/python3/lib/python3.7/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
│ │ │ │ │ └ <member '_args' of 'Handle' objects>
│ │ │ │ └ <Handle <TaskStepMethWrapper object at 0x7f577ad8bbe0>()>
│ │ │ └ <member '_callback' of 'Handle' objects>
│ │ └ <Handle <TaskStepMethWrapper object at 0x7f577ad8bbe0>()>
│ └ <member '_context' of 'Handle' objects>
└ <Handle <TaskStepMethWrapper object at 0x7f577ad8bbe0>()>
File "demo_ascii2d.py", line 26, in test
resp = await ascii2d.search(file=file)
│ │ └ 'images/test01.jpg'
│ └ <function Ascii2D.search at 0x7f577ad8a840>
└ <PicImageSearch.ascii2d.Ascii2D object at 0x7f577ad8be10>
File "/data/python/PicImageSearch/ascii2d.py", line 55, in search
resp_text, resp_url, _ = await self.post(ascii2d_url, data=data)
│ │ │ └ {'file': <_io.BufferedReader name='images/test01.jpg'>}
│ │ └ 'https://ascii2d.net/search/file'
│ └ <function HandOver.post at 0x7f577ad8a7b8>
└ <PicImageSearch.ascii2d.Ascii2D object at 0x7f577ad8be10>
File "/data/python/PicImageSearch/network.py", line 171, in post
url, params=params, data=data, json=json, **kwargs
│ │ │ │ └ {}
│ │ │ └ None
│ │ └ {'file': <_io.BufferedReader name='images/test01.jpg'>}
│ └ None
└ 'https://ascii2d.net/search/file'
File "/usr/local/python3/lib/python3.7/site-packages/aiohttp/client.py", line 1141, in __aenter__
self._resp = await self._coro
│ │ │ └ <member '_coro' of '_BaseRequestContextManager' objects>
│ │ └ <aiohttp.client._RequestContextManager object at 0x7f577ad8be80>
│ └ <member '_resp' of '_BaseRequestContextManager' objects>
└ <aiohttp.client._RequestContextManager object at 0x7f577ad8be80>
File "/usr/local/python3/lib/python3.7/site-packages/aiohttp/client.py", line 537, in _request
req, traces=traces, timeout=real_timeout
│ │ └ ClientTimeout(total=30, connect=None, sock_read=None, sock_connect=None)
│ └ []
└ <aiohttp.client_reqrep.ClientRequest object at 0x7f577ad8bfd0>
File "/usr/local/python3/lib/python3.7/site-packages/aiohttp/connector.py", line 540, in connect
proto = await self._create_connection(req, traces, timeout)
│ │ │ │ └ ClientTimeout(total=30, connect=None, sock_read=None, sock_connect=None)
│ │ │ └ []
│ │ └ <aiohttp.client_reqrep.ClientRequest object at 0x7f577ad8bfd0>
│ └ <function TCPConnector._create_connection at 0x7f577ad9bae8>
└ <aiohttp.connector.TCPConnector object at 0x7f577ad8bc50>
File "/usr/local/python3/lib/python3.7/site-packages/aiohttp/connector.py", line 901, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
│ │ │ │ └ ClientTimeout(total=30, connect=None, sock_read=None, sock_connect=None)
│ │ │ └ []
│ │ └ <aiohttp.client_reqrep.ClientRequest object at 0x7f577ad8bfd0>
│ └ <function TCPConnector._create_direct_connection at 0x7f577ada20d0>
└ <aiohttp.connector.TCPConnector object at 0x7f577ad8bc50>
File "/usr/local/python3/lib/python3.7/site-packages/aiohttp/connector.py", line 1206, in _create_direct_connection
raise last_exc
└ ClientConnectorError(ConnectionKey(host='ascii2d.net', port=443, is_ssl=True, ssl=None, proxy=None, proxy_auth=None, proxy_he...
File "/usr/local/python3/lib/python3.7/site-packages/aiohttp/connector.py", line 1187, in _create_direct_connection
client_error=client_error,
└ <class 'aiohttp.client_exceptions.ClientConnectorError'>
File "/usr/local/python3/lib/python3.7/site-packages/aiohttp/connector.py", line 988, in _wrap_create_connection
raise client_error(req.connection_key, exc) from exc
│ │ └ <property object at 0x7f577b6e8728>
│ └ <aiohttp.client_reqrep.ClientRequest object at 0x7f577ad8bfd0>
└ <class 'aiohttp.client_exceptions.ClientConnectorError'>
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host ascii2d.net:443 ssl:default [Connect call failed ('2606:4700:20::681a:548', 443, 0, 0)]
应该是你没创建本地证书文件的软连接吧。
运行 openssl version -d
然后 cd
到 OpenSSL 的路径下, ll
看看 cert.pem
或者 certs
。
应该是你没创建本地证书文件的软连接吧。
运行
openssl version -d
然后cd
到 OpenSSL 的路径下,ll
看看cert.pem
或者certs
。
emm 是空的.
就是用了新版本的openssl后,几个demo运行就下面的报错.需要加上cf_bypass = True
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host raw.githubusercontent.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)')]
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host ascii2d.net:443 ssl:default [Connect call failed ('2606:4700:20::681a:548', 443, 0, 0)]
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.trace.moe:443 ssl:default [Connect call failed ('2606:4700:20::6819:f32f', 443, 0, 0)]
应该是你没创建本地证书文件的软连接吧。
运行
openssl version -d
然后cd
到 OpenSSL 的路径下,ll
看看cert.pem
或者certs
。emm 是空的. 就是用了新版本的openssl后,几个demo运行就下面的报错.需要加上cf_bypass = True
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host raw.githubusercontent.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)')]
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host ascii2d.net:443 ssl:default [Connect call failed ('2606:4700:20::681a:548', 443, 0, 0)]
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.trace.moe:443 ssl:default [Connect call failed ('2606:4700:20::6819:f32f', 443, 0, 0)]
因为那个 cf_bypass 忽略证书验证了,所以不会有这个报错。
你先看看你有没有原来的证书,没有就用 OpenSSL 生成一个:
openssl req -x509 -new -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650
应该是你没创建本地证书文件的软连接吧。 运行
openssl version -d
然后cd
到 OpenSSL 的路径下,ll
看看cert.pem
或者certs
。emm 是空的. 就是用了新版本的openssl后,几个demo运行就下面的报错.需要加上cf_bypass = True
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host raw.githubusercontent.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)')]
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host ascii2d.net:443 ssl:default [Connect call failed ('2606:4700:20::681a:548', 443, 0, 0)]
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.trace.moe:443 ssl:default [Connect call failed ('2606:4700:20::6819:f32f', 443, 0, 0)]
因为那个 cf_bypass 忽略证书验证了,所以不会有这个报错。
你先看看你有没有原来的证书,没有就用 OpenSSL 生成一个:
openssl req -x509 -new -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650
做好了 在/certs
文件夹下面做了cert.pem key.pem 请问一下软连接是要绑定什么(:з)∠)
应该是你没创建本地证书文件的软连接吧。 运行
openssl version -d
然后cd
到 OpenSSL 的路径下,ll
看看cert.pem
或者certs
。emm 是空的. 就是用了新版本的openssl后,几个demo运行就下面的报错.需要加上cf_bypass = True
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host raw.githubusercontent.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)')]
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host ascii2d.net:443 ssl:default [Connect call failed ('2606:4700:20::681a:548', 443, 0, 0)]
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.trace.moe:443 ssl:default [Connect call failed ('2606:4700:20::6819:f32f', 443, 0, 0)]
因为那个 cf_bypass 忽略证书验证了,所以不会有这个报错。 你先看看你有没有原来的证书,没有就用 OpenSSL 生成一个:
openssl req -x509 -new -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650
做好了 在
/certs
文件夹下面做了cert.pem key.pem 请问一下软连接是要绑定什么(:з)∠)
我也不确定( 因为我没解决过这个问题。 应该是只要 OpenSSL 路径里的 cert.pem 或者 certs 能找到证书,就好了吧。
应该是你没创建本地证书文件的软连接吧。 运行
openssl version -d
然后cd
到 OpenSSL 的路径下,ll
看看cert.pem
或者certs
。emm 是空的. 就是用了新版本的openssl后,几个demo运行就下面的报错.需要加上cf_bypass = True
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host raw.githubusercontent.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)')]
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host ascii2d.net:443 ssl:default [Connect call failed ('2606:4700:20::681a:548', 443, 0, 0)]
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.trace.moe:443 ssl:default [Connect call failed ('2606:4700:20::6819:f32f', 443, 0, 0)]
因为那个 cf_bypass 忽略证书验证了,所以不会有这个报错。 你先看看你有没有原来的证书,没有就用 OpenSSL 生成一个:
openssl req -x509 -new -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650
做好了 在
/certs
文件夹下面做了cert.pem key.pem 请问一下软连接是要绑定什么(:з)∠)我也不确定( 因为我没解决过这个问题。 应该是只要 OpenSSL 路径里的 cert.pem 或者 certs 能找到证书,就好了吧。
试了一下 都不太行 感觉我还是cf_bypass = True好了(开摆)
应该是你没创建本地证书文件的软连接吧。 运行
openssl version -d
然后cd
到 OpenSSL 的路径下,ll
看看cert.pem
或者certs
。emm 是空的. 就是用了新版本的openssl后,几个demo运行就下面的报错.需要加上cf_bypass = True
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host raw.githubusercontent.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)')]
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host ascii2d.net:443 ssl:default [Connect call failed ('2606:4700:20::681a:548', 443, 0, 0)]
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.trace.moe:443 ssl:default [Connect call failed ('2606:4700:20::6819:f32f', 443, 0, 0)]
因为那个 cf_bypass 忽略证书验证了,所以不会有这个报错。 你先看看你有没有原来的证书,没有就用 OpenSSL 生成一个:
openssl req -x509 -new -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650
做好了 在
/certs
文件夹下面做了cert.pem key.pem 请问一下软连接是要绑定什么(:з)∠)我也不确定( 因为我没解决过这个问题。 应该是只要 OpenSSL 路径里的 cert.pem 或者 certs 能找到证书,就好了吧。
试了一下 都不太行 感觉我还是cf_bypass = True好了(开摆)
倒不如说我比你更想摆(
比起加这个 cf_bypass ,我倒是觉得不如加 verify_ssl , False 就不确认证书。
另外我想确认下那个 ssl_ctx.options &= ~ssl.OP_NO_TLSv1_3
有没必要,你注释掉后再帮我测试测试(
应该是你没创建本地证书文件的软连接吧。 运行
openssl version -d
然后cd
到 OpenSSL 的路径下,ll
看看cert.pem
或者certs
。emm 是空的. 就是用了新版本的openssl后,几个demo运行就下面的报错.需要加上cf_bypass = True
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host raw.githubusercontent.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)')]
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host ascii2d.net:443 ssl:default [Connect call failed ('2606:4700:20::681a:548', 443, 0, 0)]
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.trace.moe:443 ssl:default [Connect call failed ('2606:4700:20::6819:f32f', 443, 0, 0)]
因为那个 cf_bypass 忽略证书验证了,所以不会有这个报错。 你先看看你有没有原来的证书,没有就用 OpenSSL 生成一个:
openssl req -x509 -new -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650
做好了 在
/certs
文件夹下面做了cert.pem key.pem 请问一下软连接是要绑定什么(:з)∠)我也不确定( 因为我没解决过这个问题。 应该是只要 OpenSSL 路径里的 cert.pem 或者 certs 能找到证书,就好了吧。
试了一下 都不太行 感觉我还是cf_bypass = True好了(开摆)
倒不如说我比你更想摆( 比起加这个 cf_bypass ,我倒是觉得不如加 verify_ssl , False 就不确认证书。 另外我想确认下那个
ssl_ctx.options &= ~ssl.OP_NO_TLSv1_3
有没必要,你注释掉后再帮我测试测试(
我加了verify_ssl=False后 cf_bypass就不用了 ~说来惭愧,之前我也试着加了verify_ssl=False,结果加错方法了我还以为没用~
ssl_ctx.options &= ~ssl.OP_NO_TLSv1_3
我注释了,也能成功请求.
那我先去掉那个 cf_bypass 了,加上 verify_ssl 了。 现在应该是能正常请求了。看来和 OpenSSL 以及证书有关系。 打算发个新版来着,你再帮我测试下吧(
那我先去掉那个 cf_bypass 了,加上 verify_ssl 了。 现在应该是能正常请求了。看来和 OpenSSL 以及证书有关系。 打算发个新版来着,你再帮我测试下吧(
好的没问题 顺便好奇一下你的openssl版本(
那我先去掉那个 cf_bypass 了,加上 verify_ssl 了。 现在应该是能正常请求了。看来和 OpenSSL 以及证书有关系。 打算发个新版来着,你再帮我测试下吧(
好的没问题 顺便好奇一下你的openssl版本(
当然和网络环境也有关系。我 PC 和两台服务器都没遇到过这个问题。 一台服务器在美国,一台在境内。境内那个的 OpenSSL 和你现在的版本一样。
直接用的demo,运行的时候报错
https://ascii2d.net/search/uri Traceback (most recent call last): File ".\main.py", line 45, in <module> loop.run_until_complete(test()) File "C:\Users\56393\AppData\Local\Programs\Python\Python37\lib\asyncio\base_events.py", line 584, in run_until_complete return future.result() File ".\main.py", line 18, in test show_result(resp) File ".\main.py", line 31, in show_result print(resp.raw[1].origin) IndexError: list index out of range
https://ascii2d.net/search/uri地址也是报404
另外还有一个问题是 bypass = False # 是否绕过DNS污染 这个我试图配置为bypass = True,却提示我TypeError: 'type' object is not subscriptable.不清楚是哪里出了问题