为什么用http就可以随便写opener的ip地址都可以运行成功翻译结果
import urllib.requestimport random
import urllib.request
import urllib.parse
import json ip_choice ="124.70.155.89:808"
proxy_support = urllib.request.ProxyHandler({'https':ip_choice}) #这里是http时候无论ip_choice写什么 都可以得到翻译结果
opener = urllib.request.build_opener(proxy_support)
opener.addheaders = [('User-Agent','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36')]
urllib.request.install_opener(opener)
try:
content=input('input something to translate\n')
data={}
url = 'https://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
data['i'] = content
data['doctype'] = 'json'
data= urllib.parse.urlencode(data).encode('utf - 8')
req=urllib.request.Request(url)
response=opener.open(req,data)
html = response.read().decode('utf-8')
tgt = json.loads(html)['translateResult']['tgt']
print(tgt)
except urllib.error.URLError:
print('访问失败')
else:
print('访问成功')
ip_choice ="124.70.155.89:808"
proxy_support = urllib.request.ProxyHandler({'https':ip_choice}) #这里是http的话 无论ip_choice写什么都可以得到翻译结果
opener = urllib.request.build_opener(proxy_support)
opener.addheaders = [('User-Agent','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36')]
urllib.request.install_opener(opener)
try:
content=input('input something to translate\n')
data={}
url = 'https://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
data['i'] = content
data['doctype'] = 'json'
data= urllib.parse.urlencode(data).encode('utf - 8')
req=urllib.request.Request(url)
response=opener.open(req,data)
html = response.read().decode('utf-8')
tgt = json.loads(html)['translateResult']['tgt']
print(tgt)
except urllib.error.URLError:
print('访问失败')
else:
print('访问成功') 第一,你的问题就没看懂
第二,更不明白那几个import语句和你的问题有啥联系 代码发全,标题简明,详细问题写在贴子里。 没有看懂问题。 python 会在运行时检测代理是否有效,无效的话调用本地ip访问,别问我怎么限制python不使用本地ip,问我我也不知道。 suchocolate 发表于 2021-6-30 21:29
代码发全,标题简明,详细问题写在贴子里。
第一次发帖 不好意思 wp231957 发表于 2021-6-30 20:07
第一,你的问题就没看懂
第二,更不明白那几个import语句和你的问题有啥联系
不知道为什么代码没打全 我自己后来又加了回复 但好像需要时间审核才能看到 nahongyan1997 发表于 2021-7-1 09:43
python 会在运行时检测代理是否有效,无效的话调用本地ip访问,别问我怎么限制python不使用本地ip,问我我 ...
那就是用https吧 因为我把改成https后 就必须是正确的ip地址了 sigerson 发表于 2021-7-1 11:20
那就是用https吧 因为我把改成https后 就必须是正确的ip地址了
不管是http 还是 https 如果ip 无效都会 使用本地IP
页:
[1]