sigerson 发表于 2021-6-30 20:02:25

为什么用http就可以随便写opener的ip地址都可以运行成功翻译结果

import urllib.request
import random
import urllib.request
import urllib.parse
import json

sigerson 发表于 2021-6-30 20:03:39

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('访问成功')

sigerson 发表于 2021-6-30 20:06:43


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('访问成功')

wp231957 发表于 2021-6-30 20:07:01

第一,你的问题就没看懂
第二,更不明白那几个import语句和你的问题有啥联系

suchocolate 发表于 2021-6-30 21:29:05

代码发全,标题简明,详细问题写在贴子里。

Asss-whom 发表于 2021-6-30 23:30:35

没有看懂问题。

nahongyan1997 发表于 2021-7-1 09:43:39

python 会在运行时检测代理是否有效,无效的话调用本地ip访问,别问我怎么限制python不使用本地ip,问我我也不知道。

sigerson 发表于 2021-7-1 11:18:21

suchocolate 发表于 2021-6-30 21:29
代码发全,标题简明,详细问题写在贴子里。

第一次发帖 不好意思

sigerson 发表于 2021-7-1 11:19:22

wp231957 发表于 2021-6-30 20:07
第一,你的问题就没看懂
第二,更不明白那几个import语句和你的问题有啥联系

不知道为什么代码没打全 我自己后来又加了回复 但好像需要时间审核才能看到

sigerson 发表于 2021-7-1 11:20:56

nahongyan1997 发表于 2021-7-1 09:43
python 会在运行时检测代理是否有效,无效的话调用本地ip访问,别问我怎么限制python不使用本地ip,问我我 ...

那就是用https吧 因为我把改成https后 就必须是正确的ip地址了

nahongyan1997 发表于 2021-7-1 16:10:20

sigerson 发表于 2021-7-1 11:20
那就是用https吧 因为我把改成https后 就必须是正确的ip地址了

不管是http 还是 https 如果ip 无效都会 使用本地IP
页: [1]
查看完整版本: 为什么用http就可以随便写opener的ip地址都可以运行成功翻译结果