如何让 python 代码通过电脑的网络而不是路由器,还请各位大神指教,不胜感激

电脑上梯之后,浏览器和很多软件都可以正常登陆外网,但是 python 代码不能正常登陆外网,而是通过路由器网络(我在路由器上梯之后可以正常运行代码),请问如何让代码经过电脑而不是经过路由器?
代码如下:

import yagmail# pip3 install yagmail

yag = yagmail.SMTP(user='woiwo****@gmail.com', password='********')
body = "邮件正文"
yag.send(to='frank****@gmail.com', subject='邮件主题', contents=['123'])
print("已发送")

下面是提示错误:

C:\Users\wohao\AppData\Local\Programs\Python\Python37\pythonw.exe C:/Users/wohao/OneDrive/INS/ins/tkinter/yagmail_test.py
Traceback (most recent call last):
  File "C:/Users/wohao/OneDrive/INS/ins/tkinter/yagmail_test.py", line 5, in <module>
    yag.send(to='franklee1546@gmail.com', subject='邮件主题', contents=['123'])
  File "C:\Users\wohao\AppData\Local\Programs\Python\Python37\lib\site-packages\yagmail\sender.py", line 147, in send
    self.login()
  File "C:\Users\wohao\AppData\Local\Programs\Python\Python37\lib\site-packages\yagmail\sender.py", line 246, in login
    self._login(self.credentials)
  File "C:\Users\wohao\AppData\Local\Programs\Python\Python37\lib\site-packages\yagmail\sender.py", line 192, in _login
    self.smtp = self.connection(self.host, self.port, **self.kwargs)
  File "C:\Users\wohao\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 1031, in __init__
    source_address)
  File "C:\Users\wohao\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 251, in __init__
    (code, msg) = self.connect(host, port)
  File "C:\Users\wohao\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 336, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "C:\Users\wohao\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 1037, in _get_socket
    self.source_address)
  File "C:\Users\wohao\AppData\Local\Programs\Python\Python37\lib\socket.py", line 728, in create_connection
    raise err
  File "C:\Users\wohao\AppData\Local\Programs\Python\Python37\lib\socket.py", line 716, in create_connection
    sock.connect(sa)
TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

Process finished with exit code 1

电脑已经上梯了,是不是代码没有走电脑网络呢,请问如何才能解决?
我查询了很多网站,都是和爬虫有关的代理,解决不了这个问题,还请各位大神指教,不胜感激。

Jason990420
最佳答案

不是很清楚怎么用, 没用过 yagmail, 它应该不支援较复杂的况, 比如使用代理服务器 proxy.

你可能要使用更底层的smtplibsocks来支援proxy.

比如

import smtplib
import socks

socks.setdefaultproxy(KIND_OF_PROXY, PROXY, PORT)
socks.wrapmodule(smtplib)
...
3年前 评论
frankgram (楼主) 3年前
讨论数量: 4
Jason990420

问一下, 什么是上梯? 还有你的电脑不是通过路由器才能上到网络嗎 ?

3年前 评论

你好,就是fq, 电脑打开fq软件之后可以登陆谷歌,可是代码里面却不行

3年前 评论

我想让代码的网络经过fq软件

3年前 评论
Jason990420

不是很清楚怎么用, 没用过 yagmail, 它应该不支援较复杂的况, 比如使用代理服务器 proxy.

你可能要使用更底层的smtplibsocks来支援proxy.

比如

import smtplib
import socks

socks.setdefaultproxy(KIND_OF_PROXY, PROXY, PORT)
socks.wrapmodule(smtplib)
...
3年前 评论
frankgram (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!