Python上的REST GET请求发送命名参数
我在Linux上使用bash内部的curl进行游戏,但现在我需要将脚本移动到python,以便更有效。 在python上执行下面这行操作的最佳方法是什么Python上的REST GET请求发送命名参数,python,rest,urllib2,Python,Rest,Urllib2,我在Linux上使用bash内部的curl进行游戏,但现在我需要将脚本移动到python,以便更有效。 在python上执行下面这行操作的最佳方法是什么 curl baseuri:port/resource -u user:pswd 我已经玩过urllib2,但是我不知道如何发送“-u user:pswd”您需要使用a来处理身份验证,并添加a来响应身份验证挑战: import urllib2 url = 'baseuri:port/resource' username = 'user' pa
curl baseuri:port/resource -u user:pswd
我已经玩过urllib2,但是我不知道如何发送“-u user:pswd”您需要使用a来处理身份验证,并添加a来响应身份验证挑战:
import urllib2
url = 'baseuri:port/resource'
username = 'user'
password = 'pswd'
pwmgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
pwmgr.add_password(None, url, username, password)
authhandler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(authhandler)
response = opener.open(theurl)
是的,这是一把
如果可以安装第三方库,则添加并使用;这样就容易多了:
import requests
url = 'baseuri:port/resource'
username = 'user'
password = 'pswd'
response = requests.get(url, auth=(username, password))
实际上,我们使用pycurl,它也可以很好地工作。下面是从请求中获取json的示例:
import pycurl
import json
from io import BytesIO
data = BytesIO()
pyCurl = pycurl.Curl()
pyCurl.setopt(pyCurlClass.URL,string_http)
pyCurl.setopt(pycurl.USERPWD, 'user:password')
pycurl.setopt(c.WRITEFUNCTION, data.write)
pyCurl.perform()
dictionary = json.loads(data.getvalue())
参见
pycurl
是非常低的级别;这里的示例不包括接收响应所需的代码,例如,需要传入文件对象。Python的集成是相当。。。非音速,总体来说,这是一个非常低的水平。我在用C开发库时使用相同的方法。但是,除了非常特殊的情况外,pycurl
不是我可以推荐的工具。当然不适合那些仅仅学习Python并试图通过身份验证执行简单GET请求的人。谢谢。我试过了,但在安装时遇到了问题,有一些线程显示了如何使用pip安装失败。