Python发送名为argumen的REST GET请求

2024-09-28 03:15:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Linux中使用curl-insidebash,但现在我需要将脚本移到python中,以便更有效。 在python上执行下面这行操作的最佳方法是什么?你知道吗

curl baseuri:port/resource -u user:pswd

我已经玩过urllib2了,但是我不知道如何发送“-u”用户:pswd““


Tags: 方法用户脚本portlinuxurllib2curlresource
2条回答

实际上,我们改用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())

您需要使用^{} instance来处理身份验证,并添加^{} handler来响应身份验证质询:

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)

是的,这是一把。你知道吗

如果您可以安装第三方库,那么添加并使用^{} library;这将非常简单:

import requests

url = 'baseuri:port/resource'
username = 'user'
password = 'pswd'

response = requests.get(url, auth=(username, password))

相关问题 更多 >

    热门问题