2024-05-17 01:39:37 发布
网友
我试图做一件非常简单的事情,为一个get请求构建一个URL,它包含一个端口号和一些参数,如下所示http://localhost:8080/read?date=whatever
http://localhost:8080/read?date=whatever
我试了好几种方法都没有成功,应该不会太难,但我想不出解决办法。
希望有人能帮助我,我将不胜感激
提前谢谢
data = urllib2.urlopen(url).read()
下面是一个简单的泛型类,您可以(重新)使用它:
import urllib class URL: def __init__(self, host, port=None, path=None, params=None): self.host = host self.port = port self.path = path self.params = params def __str__(self): url = "http://" + self.host if self.port is not None: url += ":" + self.port url += "/" if self.path is not None: url += self.path if self.params is not None: url += "?" url += urllib.urlencode(self.params) return url
所以你可以:
url = URL("localhost", "8080", "read", {"date" : "whatever"}) print url
之前的答案不是你真正问的问题。试试这个:
import urllib myPort = "8080" myParameters = { "date" : "whatever", "another_parameters" : "more_whatever" } myURL = "http://localhost:%s/read?%s" % (myPort, urllib.urlencode(myParameters))
基本上,urllib有一个函数来做您想要的事情,称为urlencode。向它传递一个包含所需参数/参数值对的字典,它将在“?”之后生成所需的正确参数字符串在你的网址里。
下面是一个简单的泛型类,您可以(重新)使用它:
所以你可以:
之前的答案不是你真正问的问题。试试这个:
基本上,urllib有一个函数来做您想要的事情,称为urlencode。向它传递一个包含所需参数/参数值对的字典,它将在“?”之后生成所需的正确参数字符串在你的网址里。
相关问题 更多 >
编程相关推荐