我尝试将python脚本中的html代码发送到Joomla网站。
description = "<h1>Header</h1><p>text</p>"
values = {'description' : description.encode(self.encoding),
'id = ' : 5,
}
data = urlencode(values)
binData = data.encode(self.encoding)
headers = { 'User-Agent' : self.userAgent,
'X-Requested-With' : 'XMLHttpRequest'}
req = urllib2.Request(self.addr, binData, headers)
response = urllib2.urlopen(req)
rawreply = response.read()
在Joomla-server,我得到了相同的字符串,但没有html:
$desc = JRequest::getVar('description', '', 'POST');
出了什么问题?
答案 0 :(得分:1)
您应该使用请求
pip install requests
然后
import requests
description = "<h1>Header</h1><p>text</p>"
values = dict(description='description',id=5)
response = requests.post(self.addr,data=values)
if response.ok:
print response.json()
或者如果joomla没有返回json
print response.content
答案 1 :(得分:0)
JRequest :: getVar或JRequest :: getString过滤HTML代码。但它可以关闭:
$desc = JRequest::getVar('description', '', 'POST', 'string', JREQUEST_ALLOWHTML);