本文结合上一篇文章“python利用有道翻译实现“语言翻译器”的功能”的实现代码,对其进行加工,实现请求服务器时隐藏User-Agent。

python实现隐藏User-Agent的一般做法有两种:

(1)在request对象生成之前(下面例子中的req),通过一个字典类型的head,将其作为参数传入urllib.request.Request(url, data, head)中;

(2)在request对象生成之后(下面例子中的req),通过add_header()方法来实现。

import urllib.request
import urllib.parse
import json while True:
content = input('请输入需要翻译的内容(退出输入Q):')
if content == 'Q':
break
else:
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=http://www.youdao.com/' #head = {}
#head['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36' data = {}
data['type'] = 'AUTO'
data['i'] = content
data['doctype'] = 'json'
data['xmlVersion'] = '1.8'
data['keyfrom'] = 'fanyi.web'
data['ue'] = 'UTF-8'
data['action'] = 'FY_BY_CLICKBUTTON'
data['typoResult'] = 'true'
data = urllib.parse.urlencode(data).encode('utf-8') #req = urllib.request.Request(url, data, head)
req = urllib.request.Request(url, data)
req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.31') response = urllib.request.urlopen(req)
html = response.read().decode('utf-8')
target = json.loads(html)
print('翻译的结果:%s' % target['translateResult'][0][0]['tgt'])
>>>
请输入需要翻译的内容(退出输入Q):查尔顿
翻译的结果:charlton
请输入需要翻译的内容(退出输入Q):Q
>>> req.headers
{'User-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.31'}
>>>

我们可以通过req.headers来检验User-Agent是否隐藏成功!

注:上述被注释的代码行是第一种方法的实现。

python请求服务器时如何隐藏User-Agent的更多相关文章

  1. python——请求服务器(http请求和https请求)

    一.http请求 1.http请求方式:get和post get一般用于获取/查询资源信息,在浏览器中直接输入url+请求参数点击enter之后连接成功服务器就能获取到的内容,post请求一般用于更新 ...

  2. python请求服务器图片并下载到本地磁盘

    >>> import os >>> os.getcwd() 'C:\\Python33' >>> os.chdir('E:\\python\\mm ...

  3. python搭建服务器时nginx的有关问题

    最近在学习Python服务器搭建的内容,网上大多是Windows环境下的,由于我使用的是Mac,为了不想装双系统折腾,就只好一步步采坑了.比较基础的我一步步记录下来, 1.安装nginx: brew ...

  4. 使用HttpURLConnection通过post请求服务器时,URLEncode编码的必要性

    通过Post提交表单数据时,数据类型为x-www-urlencoded,提交到服务器的数据服务器默认是通过URLEncoder.encode()编码过得,所以服务器处理时会用URLDecoder.de ...

  5. python 请求服务器的本质

    不同路由请求不同内容 ''' 根据url中不同路径返回不同内容 ''' import socket sk=socket.socket() sk.bind(("127.0.0.1", ...

  6. getJSON方式请求服务器

    register.jsp <%@ page language="java" import="java.util.*" pageEncoding=" ...

  7. C# FTP上传文件时出现"应 PASV 命令的请求,服务器返回了一个与 FTP 连接地址不同的地址。"的错误

    FTP上传文件时出现"应 PASV 命令的请求,服务器返回了一个与 FTP 连接地址不同的地址."的错误 解决方法是在原代码上增加这句话 reqFTP.UsePassive = f ...

  8. WSGI——python web 服务器网关接口

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826084.html 一:服务器.服务器软件.应用程序(后台) 我们常说“服务器”,实际上服务器是一个很宽 ...

  9. 浅析Python项目服务器部署

    基础理论 关于Web服务器和应用服务器 基本概念: Web服务器主要功能就是存储.处理.传递网页,客户端和服务器之间基于HTTP协议进行通信. 应用服务器主要是处理动态请求,调用相应的对象完成对请求的 ...

随机推荐

  1. Cesium学习笔记(九):导入3D模型(obj转gltf)

    在用cesium的过程中难免需要导入别人做好的3D模型,这时候就需要将这些模型转成gltf格式了 当然,官方也给了我们一个网页版的转换器,但是毕竟是网页版的,效率极其低下,文件还不能太大,所以我们就需 ...

  2. ImageMagick的下载和配置

    2. 新建一个VC++的工程,项目->属性 VC++目录中 包含目录中加入4项,ImageMagick安装路径下的include文件夹,和include里边的三个文件夹. 库目录中加入1项,Im ...

  3. cv的期刊和会议

    http://blog.csdn.net/tmylzq187/article/details/51111421

  4. Mac 执行 gulp 报错 -bash: gulp: command not found

    在mac系统下安装gulp,之后执行gulp 报如下错误: -bash: gulp: command not found 回溯安装过程发现问题如下 1.执行 npm root: Application ...

  5. Codeforces Hello 2018 C - Party Lemonade

    传送门:http://codeforces.com/contest/913/problem/C 有n类物品,第i(i=0,1,2,...,n-1)类物品的价值为2i,花费为ci.任意选择物品,使得总价 ...

  6. Huawei-R&S-网络工程师实验笔记20190609-VLAN划分综合(Hybrid端口)

    >Huawei-R&S-网络工程师实验笔记20190609-VLAN划分综合(Hybrid端口) >>实验开始,先上拓扑图参考: >>>实验目标:分别实现主 ...

  7. 公钥基本结构(PKI)的概念

    公钥证书 ,通常简称为证书 ,用于在 Internet.Extranet 和 Intranet 上进行身份验证并确保数据交换的安全.证书的颁发者和签署者就是众所周知的 证书颁发机构 (CA),将在下一 ...

  8. SSM框架下实现导入功能

    何叫导入?简单说,导入就是把excel表格里的数据插入到数据库里.我这里做的是支持.xls和.xlsx格式. 因为是自己做案例记录,那些jar包什么的就不细说了,主要讲实现和步骤,看代码: 先在你的项 ...

  9. F2BPM流程中心RESTfull解决方案及示例

    1. 引言 1.1. 应用背景 随时企业的IT系统建设越来越多,往往一个企业中形成各种独立的系统,各系统相对独立,缺乏流程支掌,为达到通过构建流程服务中心向各处应用系统提供流程服务,同时将各个独立的系 ...

  10. RDS for MySQL Mysqldump 常见问题和处理

    https://help.aliyun.com/knowledge_detail/41732.html?spm=5176.7841698.2.13.u67H3h