我有一个Google App Engine应用程序 - http://mylovelyapp.appspot.com/ 它有一个页面 - mylovelypage
目前,页面就是这样 self.response.out.write('OK')
如果我在我的计算机上运行以下Python:
import urllib2
f = urllib2.urlopen("http://mylovelyapp.appspot.com/mylovelypage")
s = f.read()
print s
f.close()
Run Code Online (Sandbox Code Playgroud)
它打印"OK"
问题是如果我login:required
在应用程序的yaml中添加到此页面
然后打印出Google帐户登录页面的HTML
我尝试过"正常"的身份验证方法.例如
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
auth_handler = urllib2.HTTPBasicAuthHandler()
auth_handler.add_password(None,
uri='http://mylovelyapp.appspot.com/mylovelypage',
user='billy.bob@gmail.com',
passwd='billybobspasswd')
opener = urllib2.build_opener(auth_handler)
urllib2.install_opener(opener)
Run Code Online (Sandbox Code Playgroud)
但它没有任何区别 - 我仍然得到登录页面的HTML.
我已经尝试了Google的ClientLogin auth API,但我无法让它工作.
h = httplib2.Http()
auth_uri = 'https://www.google.com/accounts/ClientLogin'
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
myrequest = "Email=%s&Passwd=%s&service=ah&source=DALELANE-0.0" % ("billy.bob@gmail.com", "billybobspassword")
response, content = h.request(auth_uri, 'POST', body=myrequest, headers=headers)
if response['status'] == '200':
authtok = re.search('Auth=(\S*)', …
Run Code Online (Sandbox Code Playgroud) 即时通讯试图设计listview控件,但我有问题...当我将图像的宽度设置为40px,如标记所示.我似乎无法让内容与左侧正确对齐.即.我想要图像和文字之间的差距.这是我的标记
<ul data-role="listview" class="ui-listview" data-inset="true" role="listbox">
<li data-role="list-divider" role="heading" tabindex="0" class="ui-li ui-li-divider ui-btn ui-bar-b ui-btn-up-c" style='font-size:8pt;font-weight:normal'>
<?php echo fmtDate($x->date); ?>,<?php echo $name; ?> wrote on <?php echo $wname; ?>'s wall
<span class="ui-li-count ui-btn-up-c ui-btn-corner-all" style='right:55px;background: url(../images/comment.png) no-repeat;padding:3px;padding-left:20px'>34</span>
<span class="ui-li-count ui-btn-up-c ui-btn-corner-all" style='right:5px;background: url(../images/like.gif) no-repeat;padding:3px;padding-left:20px'>442</span>
</li>
<li role="option" tabindex="0" data-theme="c" >
<a href='#'>
<img width="40" height="40" src='<?php echo $imgstr; ?>'/>
<div style='font-size:9pt;font-weight:normal;'><?php echo nl2br(addSmilies(urlize(trim($x->msg))));?></div>
</a>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
只是为了澄清这是我从'inspect element'获得的标记
<ul data-role="listview" class="ui-listview ui-listview-inset ui-corner-all ui-shadow" data-inset="true" role="listbox">
<li data-role="list-divider" role="heading" tabindex="0" …
Run Code Online (Sandbox Code Playgroud) 我正在使用JAXB使用XMLStreamReader从非常大的XML文件中解组对象.
如果我解组的XML元素是分开的(通过换行符甚至单个空格),这可以正常工作.
如果我解组的XML元素之间没有空格,那么我就会丢失所有其他项目 - XML阅读器似乎会在取消编组之后吞下该元素.
一个简化的可运行示例的源代码可以在https://gist.github.com/dalelane/88df784c3cb74b214d5c上进行演示
有趣的是:
XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(inputStream);
JAXBContext context = JAXBContext.newInstance(MyJAXBClass.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
boolean running = true;
while (running){
switch (reader.next()){
case XMLStreamConstants.START_ELEMENT:
if (reader.getLocalName().equals("myunmarshallobjname")){
JAXBElement<MyJAXBClass> unmarshalledObj = unmarshaller.unmarshal(reader, MyJAXBClass.class);
MyJAXBClass item = unmarshalledObj.getValue();
}
break;
case XMLStreamConstants.END_DOCUMENT:
reader.close();
running = false;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
每当流阅读器点击元素的开头时,我都会将它传递给unmarshaller以解组该片段.
如果我有XML,它可以工作:
<myunmarshallobjname key="one"></myunmarshallobjname> <myunmarshallobjname key="two"></myunmarshallobjname>
Run Code Online (Sandbox Code Playgroud)
但如果我有以下情况,则丢失物品:
<myunmarshallobjname key="one"></myunmarshallobjname><myunmarshallobjname key="two"></myunmarshallobjname>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?如何让读者不要跳过元素?
我尝试将ibm-eventstreams-dev v 0.1.1安装到IBM Cloud Private中,我收到一条错误消息:
内部服务错误:图表与Tiller v2.6.0不兼容
java ×1
javascript ×1
jaxb ×1
jquery ×1
listview ×1
mobile ×1
python ×1
web-services ×1
xml ×1