我对rss feed很新,但是我能够使用PHP动态创建一个feed,它运行得很好.我的问题是,饲料偶尔没有任何物品(我将饲料的年龄限制为60天,有时在那段时间没有发生任何事情).
我期望发生的是我只是<item>在我的xml页面中没有任何s.然而,当我这样做的时候,饲料阅读器(至少是谷歌的阅读器)似乎有点笨拙.即使XML正确地包含了Feed的名称,它也会显示没有标题.
到目前为止,我发现解决这个问题的唯一方法就是放入一个虚拟物品,这很简单<item><title></title></item>.然后我的Google阅读器正确找到了Feed的名称,它看起来就像一个空白的Feed.
这似乎是一个可能不正确的解决方案.
是否有一些标准的方法来处理空提要的XML表示?
编辑:这是空的饲料看起来像什么
Run Code Online (Sandbox Code Playgroud)<?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <channel> <title>News at Example</title> <link>http://www.example.com/feed/sample-reviews</link> <description>Latest Additions to the Sample Category</description> <dc:language>en-us</dc:language> <dc:creator>Contact Example through our "contact us" page</dc:creator> <dc:rights>Copyright 2010 Example Technologies Inc.</dc:rights> <admin:generatorAgent rdf:resource="http://www.codeigniter.com/" /> <item><title></title></item> </channel></rss>
我正在尝试使用POST技术访问Web API.我能够使用GET技术访问它,但API所有者告诉我某些功能仅适用于POST.不幸的是我似乎无法让POST工作.
这是适用于GET的:
API_URL = "http://example.com/api/"
def call_api(method, **kwargs):
url = API_URL + method
if kwargs:
url += '?' + urllib.urlencode(kwargs)
req = urllib2.Request(url)
auth = 'Basic ' + base64.urlsafe_b64encode("%s:%s" % (USER, PASS))
req.add_header('Authorization', auth)
return urllib2.urlopen(req)
Run Code Online (Sandbox Code Playgroud)
这是什么不适用于POST(导致HTTP 400错误):
API_URL = "http://example.com/api/"
def call_api(method, **kwargs):
url = API_URL + method
data=''
if kwargs:
data=urllib.urlencode(kwargs)
req = urllib2.Request(url, data)
auth = 'Basic ' + base64.urlsafe_b64encode("%s:%s" % (USER, PASS))
req.add_header('Authorization', auth)
return urllib2.urlopen(req)
Run Code Online (Sandbox Code Playgroud)
任何人都会因为POST代码本身不正确而跳出来吗?我之前从未做过POST调用,但我读过的所有内容似乎都表明我的代码是合理的.如果我使用POST,是否有一些不同的方式我应该为授权执行add_header操作?
我使用mercurial作为我的工作流程的一部分,它运作良好.我有一个琐碎的问题.当我从中央存储库下载到我的Linux Web服务器以进行升级时,我正在使用"root"用户.这似乎将所有者和组分配给"root"用于任何新的或更改的文件.
不幸的是我遇到了其他困难,所以我总是要经历并将所有文件重置为正确的组和所有者(Web服务器上的非root用户).
有没有办法让mercurial自动执行此操作,或者有人有快速的方法吗?我正在使用shell并且必须输入
chown -R username /home/username
Run Code Online (Sandbox Code Playgroud)
我尝试用chgrp做类似的事情.整件事看起来很混乱,我怀疑有一种更简单的方法来完成我需要的东西.有没有办法在从存储库中提取时设置所有者和组?