我想将 Python 脚本中的二进制数据字符串发布到 Web 服务器,PHP 脚本应该在其中提取并存储它。我收到了我在 Python 端的 php 脚本的 POST 部分中回显的任何内容,因此我假设实际的 POST 有效。但是,我发布了 23 个字节,而 strlen($_POST['data']) 保持为 0。我的 PHP 脚本用于获取数据如下所示:
if (isset($_REQUEST["f"]) && $_REQUEST["f"]=="post_status") {
$fname = "status/".time().".bin";
if (file_exists($fname)) {
$fname = $fname."_".rand();
if (file_exists($fname)) {
$fname = $fname."_".rand();
}
}
echo strlen($_POST['data'])." SUCCESS!";
}
Python POST 脚本如下所示:
data = statusstr
host = HOST
func = "post_status"
url = "http://{0}{1}?f={2}".format(host,URI,func)
print url
r = urllib2.Request(url, data,{'Content-Type': 'application/octet-stream'})
r.get_method = lambda: 'PUT'
response = urllib2.urlopen(r)
print "RESPONSE " + response.read()
为什么我的数据似乎没有通过,我想知道?
谢谢,