每日总结
今天继续写了一点的页面,之后看了看python的代码实列。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | # post请求 import urllib.request import urllib.parse url = 'https://fanyi.baidu.com/sug' headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36' } data = { 'kw' : 'spider' } # post请求的参数 必须要进行编码 data = urllib.parse.urlencode(data).encode( 'utf-8' ) # post的请求的参数 是不会拼接在url的后面的 而是需要放在请求对象定制的参数中 # post请求的参数 必须要进行编码 request = urllib.request.Request(url=url,data=data,headers=headers) # 模拟浏览器向服务器发送请求 response = urllib.request.urlopen(request) # 获取响应的数据 content = response.read().decode( 'utf-8' ) # 字符串--》json对象 import json obj = json.loads(content) print(obj) # post请求方式的参数 必须编码 data = urllib.parse.urlencode(data) # 编码之后 必须调用encode方法 data = urllib.parse.urlencode(data).encode('utf-8') # 参数是放在请求对象定制的方法中 request = urllib.request.Request(url=url,data=data,headers=headers) |
这个代码首先是确定目标为百度翻译的api接口https://fanyi.baidu.com/sug。
定义了一个HTTP请求的头部(headers),包括用户代理信息,模拟浏览器发送请求。
创建了一个包含一个键值对{'kw': 'spider'}的字典,这将作为POST请求的数据。
使用urllib.parse.urlencode(data)将数据字典编码为URL编码格式的字符串,并使用.encode('utf-8')将其编码为字节流,以便在POST请求中发送。
创建了一个urllib.request.Request对象,其中包括目标URL、编码后的数据、以及请求头部信息。
使用urllib.request.urlopen(request)来模拟浏览器向服务器发送POST请求,其中request是包含了所有必要信息的请求对象。
获取服务器的响应内容,使用response.read().decode('utf-8')来读取并解码响应,将其转换为UTF-8编码的字符串。
导入json模块,然后使用json.loads(content)将JSON字符串解析为Python的字典或对象。
最后,打印解析后的JSON对象。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通