如何使用 python 列出 cloudfoundry 中的所有应用程序
How to list all apps in cloudfoundry using python
我正在尝试在 python 中访问我的 CloudFoundry
应用程序,我正在使用 requests
模块。
首先我试过
import requests
response=requests.get("https://api.run.pivotal.io")
显示未授权错误。据我所知,首先我们必须从身份验证服务器获取令牌。所以我用了
response=requests.get('https://login.run.pivotal.io',auth=('username','pwd'))
成功并收到响应代码 200。我的疑问是如何获取我的应用程序数据。我在努力
response=requests.get("https://api.run.pivotal.io/v2/apps",'Authorization':'access_token myToken')
但仍然出现未授权错误。如何在 headers 中提供 access token
,因为登录名 url 不同,所以我无法访问它。
import requests
oauthTokenResponse = requests.post(
'https://login.run.pivotal.io/oauth/token?grant_type=password&client_id=cf',
data={'username': 'YOUR_USERNAME', 'password': 'YOUR_PASSWORD', 'client_id': 'cf'},
auth=('cf', '')
)
authorization = oauthTokenResponse.json()['token_type'] + ' ' + oauthTokenResponse.json()['access_token']
appsResponse = requests.get(
"https://api.run.pivotal.io/v2/apps",
headers={'Accept': 'application/json', 'Content-Type': 'application/json', 'Authorization': authorization}
)
您也可以尝试其他方法,此脚本需要 CLI
https://github.com/cloudfoundry/cli
from __future__ import print_function
import subprocess
import os
import re
import getpass
User = raw_input("Please Enter your user name: \n").lower()
if not re.match("^[a-zA-Z, 0-99]*$", User):
print ("Error! Only letters and numbers are allowed!")
break
Pass = getpass.getpass(prompt= "Please enter your password: \n")
URL_login = 'cf login --skip-ssl-validation -a https://api.run.pivotal.io -u ' + User.lower() + ' -p ' + Pass
subprocess.call(URL_login)
os.system('cf apps > apps.csv')
我正在尝试在 python 中访问我的 CloudFoundry
应用程序,我正在使用 requests
模块。
首先我试过
import requests
response=requests.get("https://api.run.pivotal.io")
显示未授权错误。据我所知,首先我们必须从身份验证服务器获取令牌。所以我用了
response=requests.get('https://login.run.pivotal.io',auth=('username','pwd'))
成功并收到响应代码 200。我的疑问是如何获取我的应用程序数据。我在努力
response=requests.get("https://api.run.pivotal.io/v2/apps",'Authorization':'access_token myToken')
但仍然出现未授权错误。如何在 headers 中提供 access token
,因为登录名 url 不同,所以我无法访问它。
import requests
oauthTokenResponse = requests.post(
'https://login.run.pivotal.io/oauth/token?grant_type=password&client_id=cf',
data={'username': 'YOUR_USERNAME', 'password': 'YOUR_PASSWORD', 'client_id': 'cf'},
auth=('cf', '')
)
authorization = oauthTokenResponse.json()['token_type'] + ' ' + oauthTokenResponse.json()['access_token']
appsResponse = requests.get(
"https://api.run.pivotal.io/v2/apps",
headers={'Accept': 'application/json', 'Content-Type': 'application/json', 'Authorization': authorization}
)
您也可以尝试其他方法,此脚本需要 CLI https://github.com/cloudfoundry/cli
from __future__ import print_function
import subprocess
import os
import re
import getpass
User = raw_input("Please Enter your user name: \n").lower()
if not re.match("^[a-zA-Z, 0-99]*$", User):
print ("Error! Only letters and numbers are allowed!")
break
Pass = getpass.getpass(prompt= "Please enter your password: \n")
URL_login = 'cf login --skip-ssl-validation -a https://api.run.pivotal.io -u ' + User.lower() + ' -p ' + Pass
subprocess.call(URL_login)
os.system('cf apps > apps.csv')