具有键=值对的Python调用URL
由于我在Python中完成了我的第一步,我试图弄清楚,如何在Python中使用key=value对进行简单的URL调用,如:具有键=值对的Python调用URL,python,url,Python,Url,由于我在Python中完成了我的第一步,我试图弄清楚,如何在Python中使用key=value对进行简单的URL调用,如: http://somehost/somecontroller/action?key1=value1&key2=value2 我试过一些东西,比如: key1 = 'value' key2 = 10 requests.get("http://somehost/somecontroller/action?key1=" + value + "&key2=" +
http://somehost/somecontroller/action?key1=value1&key2=value2
我试过一些东西,比如:
key1 = 'value'
key2 = 10
requests.get("http://somehost/somecontroller/action?key1=" + value + "&key2=" + str(10))
或
(来自)
但这不起作用。我还尝试了使用subprocess.Popen()
以不同的方式调用curl
,但是
我不想检查请求,URL调用就足够了。使用
请求
库可以将参数编码为URL,如:
import requests
p = requests.models.PreparedRequest()
data={'key1': 'value', 'key2': str(10)}
p.prepare_url(url='http://somehost.com/somecontroller/action', params=data)
print p.url
在最后一次打印中,您应获得:
http://somehost.com/somecontroller/action?key2=10&key1=value
谢谢你的链接,但我已经尝试过这个解决方案。这对我不起作用。我想你有打字错误
data={'key1':'value','key2':str(10)}
。你犯了什么错误?你怎么知道它不工作呢?试试data={'key1':'value','key2':'10';请求。获取(“http://127.0.0.1:5000/,params=data)
,url将为http://127.0.0.1:5000/?key1=value&key2=10
。没有错误,url根本不是根据我的需要生成的。打印request.url时,在大多数情况下仅显示“”。错过了动作,当然还有kay的价值部分。
http://somehost.com/somecontroller/action?key2=10&key1=value