urllib2.Request中post的数据格式
在使用 urllib2.Request(someurl,data)
之前,数据应该是什么样子的呢?我试过用 [('name1','value1'),('name2','value2'),...]
这种格式,但不管用。:(
补充说明:我在程序里做了个日志,记录了 urllib.urlencode(data)
的值:
content=%E5%8F%91%E5%B8%83%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E4%B8%BB%E9%A2%98%EF%BC%9A%3Ca+href%3D%27http%3A%2F%2Fbbs.jianshe99.com%2Fforum-5-195%2Ftopic-448618.html%27+target%3D%27_blank%27%3E+fsdfdsf%3C%2Fa%3E
然后把它发送到一个 PHP 脚本,内容是:
<?php
print_r($_POST);
?>
但是总是收到这样的回复:
array()
1 个回答
2
data 可以是一个 字符串,用来指定要发送给服务器的额外数据;如果不需要发送数据,则可以用 None
表示。目前,只有 HTTP 请求会使用 data;当提供了 data 参数时,HTTP 请求会变成 POST 请求,而不是 GET 请求。data 应该是一个标准的 缓冲区,格式为 application/x-www-form-urlencoded。你可以使用 urllib.urlencode() 函数,它接受一个映射或一系列的二元组,并返回一个符合这种格式的字符串。