Python中urllib2的数据标准化问题
来源:互联网 发布:java jar main class 编辑:程序博客网 时间:2024/05/18 05:38
在使用urllib2获取接口数据时一直显示服务器内部错误:
urllib2.HTTPError: HTTP Error 500: Internal Server Error
原因:请求数据传入错误。
错误代码:
import jsonimport urllib2url = "http://xxxxxxxx.com/api/xxx/xxx/"data = { 'service_name': 'service_name', 'components': '[]', }req = urllib2.Request(url, data = json.dumps(data))res = urllib2.urlopen(req)msg = json.loads(res.read())print msg
此处需要将data进行标准化处理:
有时候你希望发送一些数据到URL(通常URL与CGI[通用网关接口]脚本,或其他WEB应用程序挂接)。在HTTP中,这个经常使用熟知的POST请求发送。这个通常在你提交一个HTML表单时由你的浏览器来做。
并不是所有的POSTs都来源于表单,你能够使用POST提交任意的数据到你自己的程序。一般的HTML表单,data需要编码成标准形式。然后做为data参数传到Request对象。编码工作使用urllib的函数而非urllib2。
正确代码:
import jsonimport urllib2import urlliburl = "http://xxxxxxxx.com/api/xxx/xxx/"data = { 'service_name': 'service_name', 'components': '[]', }req = urllib2.Request(url, data = urllib.urlencode(data))res = urllib2.urlopen(req)msg = json.loads(res.read())print msg
注:其中,urllib.urlencode()主要作用是:将URL中的键值对以连接符&划分。
>>>import urllib>>>data=urllib.urlencode({'name':'Jack','age':18})>>>print dataage=18&name=Jack
阅读全文
1 0
- Python中urllib2的数据标准化问题
- R中数据的标准化0-1标准化
- python 多线程时,urllib2的古怪问题
- python urllib2处理重定向的问题
- python中urllib和urllib2的区别!
- Python中的数据标准化
- python中的数据标准化
- python 数据标准化
- Python中urllib2总结
- python中urllib2 总结
- Python中urllib2总结
- Python中urllib2总结
- Matlab中数据的标准化处理
- 【python 数据标准化】利用sklearn做标准化
- 数据标准化中词汇分类中需要注意的小问题
- 处理Python中urllib2/mechanize库进行socket通信超时的问题
- python 数据预处理 数据标准化
- Python的urllib2模块
- 面试题整理
- jQuery.form Ajax无刷新上传报错 (jQuery.handleError is not a function) 解决办法
- phpStorm9.0 +xampp+chrome php调试环境配置!
- 自学qt之 进程和线程之间认识 线程汇总
- Thinking in java-4 Java内存管理之垃圾回收Garbage Collection
- Python中urllib2的数据标准化问题
- (一)SCOTT 用户下的表
- 6月10日(JDBC进行批处理,处理大数据文件)
- Github使用(3)
- split 分割 字符串(分隔符如:* ^ : | , .) 及注意点
- 01_程序员必须掌握的8大排序算法_直接插入排序
- python中的文件I/O
- jquery中向后台传List
- 使用SourceTree的git命令提交代码