由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
LosAngeles版 - 如何用python web.py web service 做 multiple parameters 的 (转载)
相关主题
周六hiking:铁人山冬季滑雪召集-现在就得马上买季票
大家觉得这行为是不是周杰伦啊?想用 web,但不想看廣告的
hotmail服务器挂了?想上hotmail却变成了http://localhost/?JOKE of deal
暖水瓶“查询网址(名词)”英文怎么翻译?
最安全的代理HOUSE FOR SALE
冬奥Curling,中国mm战胜瑞士的精彩片段 (转载)紧急求助,一道题目。
[合集]Pop ups! dreamlandmitbbs的flash(youtube, etc)问题。
SoCal哪里有卖ipad?中华人,得有结社团的理念。
相关话题的讨论汇总
话题: title话题: __话题: python话题: matching4话题: hash
进入LosAngeles版参与讨论
1 (共1页)
t***q
发帖数: 418
1
【 以下文字转载自 Programming 讨论区 】
发信人: treeq (treeq), 信区: Programming
标 题: 如何用python web.py web service 做 multiple parameters 的
发信站: BBS 未名空间站 (Sun Mar 22 23:14:33 2015, 美东)
大家好。我的那个web service 做成了。用了python 的 web.py.
install web.py
cd webpy
编辑python web service.
#!/usr/bin/env python
urls = ('/title_matching2','title_matching2')
app = web.application(urls,globals())
class title_matching2:
def __init__(self):
self.hello = "hello world"
def GET(self):
getInput = web.input(name="World")
processing the data, return the hash table, I wanted
return gg
if __name__ == "__main__":
app.run()
然后 run 这个 web service , ./some.py, 再call:
links http://localhost:8080/title_matching2?title=diehard
会返回一个hash table. 正是我想要的。
但是如果run multiple parameters 的话:
代码如下:
usr/bin/env python
urls = ('/title_matching4','title_matching4')
app = web.application(urls,globals())
class title_matching4:
def __init__(self):
self.hello = "hello world"
def GET(self):
getInput = web.input(title="World",prod="type")
title1=str(getInput.title)
prod1=str(getInput.prod)
processing the data, return the hash table I wanted.
return qq
if __name__ == "__main__":
app.run()
然后再run ./rest9.py
再打开一个link:
links http://localhost:8080/title_matching4?title=diehard&prod=feature
就没有hash table 返回。虽然我想返回hash table.
只是出现如下东西在screen 上:
ubuntu@ip-10-0-0-126:~$ links http://localhost:8080/title_matching4?title=diehard&prod=feature
[1] 1190
请问这是为什么?
为什么不能打开一个连接,并有hash table 返回?
多谢!
l*****r
发帖数: 15615
2
您这也是单干的节奏呗?
赞。
t***q
发帖数: 418
3
多谢回复。请问你知道答案吗?知道的话,我有包子给你!

【在 l*****r 的大作中提到】
: 您这也是单干的节奏呗?
: 赞。

l*****r
发帖数: 15615
4
说实话,我没做过python web的东西,目前用到python的地方都是windows
application而已。
python就是这两年在工作上看书学的,因为会用到,所以不懂一般就是查网络或者
internet,毕竟现在的工作上,python只是些辅助小工具的语言,所以都是很快写完或
者改好,有错也能马上改。
我不知道你的multiple argument是怎么输入的。
但是我找到有个例子是这样的,一个form的提交,我没看出你写的有问题,可能还是在
application 方面的问题?
def POST(self):
form = web.input(name="Nobody", greet="Hello")
greeting = "%s, %s" % (form.greet, form.name)
return render.index(greeting = greeting)
source:
http://learnpythonthehardway.org/book/ex51.html
good luck

【在 t***q 的大作中提到】
: 多谢回复。请问你知道答案吗?知道的话,我有包子给你!
p**r
发帖数: 5853
5
他的代码写的method是get
大概看了下,
好像问题是他想在browser里面得到本地application的运行结果,
然后
对本地app运行和browser运行区别不懂,
对如何读return的data不懂,
对data用不同format展现不懂,
对ws端读入两个以上参数不懂
都是最基本的问题,所以让他自己研究,不然下次还是一大堆问题。

【在 l*****r 的大作中提到】
: 说实话,我没做过python web的东西,目前用到python的地方都是windows
: application而已。
: python就是这两年在工作上看书学的,因为会用到,所以不懂一般就是查网络或者
: internet,毕竟现在的工作上,python只是些辅助小工具的语言,所以都是很快写完或
: 者改好,有错也能马上改。
: 我不知道你的multiple argument是怎么输入的。
: 但是我找到有个例子是这样的,一个form的提交,我没看出你写的有问题,可能还是在
: application 方面的问题?
: def POST(self):
: form = web.input(name="Nobody", greet="Hello")

e*******o
发帖数: 4654
6
learn to debug. try to inspect getinput in both case. see what is in there.
that is the key point.
t***q
发帖数: 418
7
非常非常感谢大家的回复。让我开窍许多。我再去好好研究,研究。你没有任何想法,
建议,也尽管提呀。多谢!
t***q
发帖数: 418
8
多谢这位这么多的信息。
我的argument 不是在网页上输入的。
就是在linux 平台上,先run 那个 web.py api, ./someapi.py, 会显示:
http://xx ip:8080/
然后在另一个linux界面上用links command 打开要query 带arguement 的界面,如:
links http://localhost:8080/somesubpage?title=XXX&prod=XXX
然后,打开一个liux的界面,上面显示要得到的一个hash table.
多谢!

【在 l*****r 的大作中提到】
: 说实话,我没做过python web的东西,目前用到python的地方都是windows
: application而已。
: python就是这两年在工作上看书学的,因为会用到,所以不懂一般就是查网络或者
: internet,毕竟现在的工作上,python只是些辅助小工具的语言,所以都是很快写完或
: 者改好,有错也能马上改。
: 我不知道你的multiple argument是怎么输入的。
: 但是我找到有个例子是这样的,一个form的提交,我没看出你写的有问题,可能还是在
: application 方面的问题?
: def POST(self):
: form = web.input(name="Nobody", greet="Hello")

l*****r
发帖数: 15615
9
我另一个帖子一直说你可以开私塾,看来真是有这水平,不错。

【在 p**r 的大作中提到】
: 他的代码写的method是get
: 大概看了下,
: 好像问题是他想在browser里面得到本地application的运行结果,
: 然后
: 对本地app运行和browser运行区别不懂,
: 对如何读return的data不懂,
: 对data用不同format展现不懂,
: 对ws端读入两个以上参数不懂
: 都是最基本的问题,所以让他自己研究,不然下次还是一大堆问题。

l*****r
发帖数: 15615
10
我好像还没用过GET method,都是自己写类似这样的需要的,如果需要的话。
我再去查查这些基本知识哈。

【在 t***q 的大作中提到】
: 多谢这位这么多的信息。
: 我的argument 不是在网页上输入的。
: 就是在linux 平台上,先run 那个 web.py api, ./someapi.py, 会显示:
: http://xx ip:8080/
: 然后在另一个linux界面上用links command 打开要query 带arguement 的界面,如:
: links http://localhost:8080/somesubpage?title=XXX&prod=XXX
: 然后,打开一个liux的界面,上面显示要得到的一个hash table.
: 多谢!

相关主题
冬奥Curling,中国mm战胜瑞士的精彩片段 (转载)冬季滑雪召集-现在就得马上买季票
[合集]Pop ups! dreamland想用 web,但不想看廣告的
SoCal哪里有卖ipad?JOKE of deal
进入LosAngeles版参与讨论
t***q
发帖数: 418
11
多谢。我用curl 做了一个testing,估计知道问题在哪里了。其实用 curl 做testing ,
比用links 直接打开网页更容易查出问题所在。明天如果弄出来了,回头告诉大家。

【在 l*****r 的大作中提到】
: 我好像还没用过GET method,都是自己写类似这样的需要的,如果需要的话。
: 我再去查查这些基本知识哈。

p**r
发帖数: 5853
12
python真没玩过,不然可以帮你debug一下,
你问问张老三,他搞不好玩过.
t***q
发帖数: 418
13
大家好。
我后来又找到一个可以做query的package 叫flask.也是在python 里。
用它写了一个multiple parameters 的query,差不过如下:
http://stackoverflow.com/questions/15182696/multiple-parameters
还是用links 打开一个网页
links http://127.0.0.1:5000/api?name=XXX&prod=XXX
没有回应。只是出现一个随机数,在screen上。
但是用curl就能返回想要的东西:
curl -XGET 'http://127.0.0.1:5000/api?name=XXX&prod=XXX'
而且用curl -XGET作用在以前用web.py的东西上也能得到想要的。但是,只是在screen
上显示一堆东西。并不是打开网页。
请问这是为什么?就是说用curl,不管怎样都能返回想要的东西,用links 不管怎样都
不能返回想要的东西。这样一来只要curl能跑出来东西,是不是就成了?
多谢!
e*******o
发帖数: 4654
14
做query的是request
你终于找到flask了
flask 有本书 你找电子版好好看看就不用来问问题了

screen

【在 t***q 的大作中提到】
: 大家好。
: 我后来又找到一个可以做query的package 叫flask.也是在python 里。
: 用它写了一个multiple parameters 的query,差不过如下:
: http://stackoverflow.com/questions/15182696/multiple-parameters
: 还是用links 打开一个网页
: links http://127.0.0.1:5000/api?name=XXX&prod=XXX
: 没有回应。只是出现一个随机数,在screen上。
: 但是用curl就能返回想要的东西:
: curl -XGET 'http://127.0.0.1:5000/api?name=XXX&prod=XXX'
: 而且用curl -XGET作用在以前用web.py的东西上也能得到想要的。但是,只是在screen

h*******s
发帖数: 8454
15
links是干啥的 你要是想打开网页也可以用浏览器啊

screen

【在 t***q 的大作中提到】
: 大家好。
: 我后来又找到一个可以做query的package 叫flask.也是在python 里。
: 用它写了一个multiple parameters 的query,差不过如下:
: http://stackoverflow.com/questions/15182696/multiple-parameters
: 还是用links 打开一个网页
: links http://127.0.0.1:5000/api?name=XXX&prod=XXX
: 没有回应。只是出现一个随机数,在screen上。
: 但是用curl就能返回想要的东西:
: curl -XGET 'http://127.0.0.1:5000/api?name=XXX&prod=XXX'
: 而且用curl -XGET作用在以前用web.py的东西上也能得到想要的。但是,只是在screen

t***q
发帖数: 418
16
links 是ubuntu上用来打开网页的一个工具。主要我的linux是登录远程的一个linux机
器,所以用local的网页浏览器无法打开页面。

【在 h*******s 的大作中提到】
: links是干啥的 你要是想打开网页也可以用浏览器啊
:
: screen

1 (共1页)
进入LosAngeles版参与讨论
相关主题
中华人,得有结社团的理念。最安全的代理
outdoor shoppling sites (转载)冬奥Curling,中国mm战胜瑞士的精彩片段 (转载)
MITBBS南加州ID的地址[合集]Pop ups! dreamland
刚刚给CNN网站写了个EMAILSoCal哪里有卖ipad?
周六hiking:铁人山冬季滑雪召集-现在就得马上买季票
大家觉得这行为是不是周杰伦啊?想用 web,但不想看廣告的
hotmail服务器挂了?想上hotmail却变成了http://localhost/?JOKE of deal
暖水瓶“查询网址(名词)”英文怎么翻译?
相关话题的讨论汇总
话题: title话题: __话题: python话题: matching4话题: hash