看看cf push的输出:
和登录认证相关的endpoint:

X-Vcap-Request-Id: 16e27e27-17d2-40db-7da2-435e9a0436d7::b73939f3-06da-4b69-838b-336bf5ce78c8
{"api_version": "2.128.0","app_ssh_endpoint": "ssh.cf.eu10.hana.ondemand.com:2222","app_ssh_host_key_fingerprint": "f3:12:47:b5:3a:19:6e:6c:4e:9d:90:2e:6f:8e:87:cc","app_ssh_oauth_client": "ssh-proxy","authorization_endpoint": "https://login.cf.eu10.hana.ondemand.com","bits_endpoint": "https://bits.cf.eu10.hana.ondemand.com","build": "","description": "Cloud Foundry at SAP Cloud Platform","doppler_logging_endpoint": "wss://doppler.cf.eu10.hana.ondemand.com:443","min_cli_version": null,"min_recommended_cli_version": null,"name": "","osbapi_version": "2.14","support": "","token_endpoint": "https://uaa.cf.eu10.hana.ondemand.com","version": 0
}

登录请求响应:

RESPONSE: [2019-03-08T15:03:13+08:00]
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Language: en-US
Content-Length: 551
Content-Type: application/json;charset=UTF-8
Date: Fri, 08 Mar 2019 07:03:12 GMT
Set-Cookie: X-Uaa-Csrf=xY0PfvhOLrudHW5q1tq34k; Max-Age=86400; Expires=Sat, 09-Mar-2019 07:03:13 GMT; Path=/; Secure; HttpOnly
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload;
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Vcap-Request-Id: 543f350b-825e-4ada-4632-08517b3c5bba
X-Xss-Protection: 1; mode=block

支持的登录方式:

{"app": {"version": "4.27.0"},"commit_id": "76e960d","entityID": "login.cf.eu10.hana.ondemand.com","idpDefinitions": {},"links": {"login": "https://login.cf.eu10.hana.ondemand.com","passwd": "https://accounts.sap.com/ui/createForgottenPasswordMail?spName=cf.eu10.hana.ondemand.com","register": "https://accounts.sap.com/ui/public/showRegisterForm?spName=cf.eu10.hana.ondemand.com","uaa": "https://uaa.cf.eu10.hana.ondemand.com"},"prompts": {"password": ["password","Password"],"username": ["text","Email"]},"timestamp": "2019-01-25T17:50:24+0000","zone_name": "uaa"
}

开始上传了:

Pushing from manifest to org I042416trial_trial / space dev as diablo@sap.com...
Using manifest file c:\Code\wechat\miniserver\manifest.yml
Getting app info...
REQUEST: [2019-03-08T15:03:13+08:00]
GET /v2/apps?q=name%3Ajerry+demo+server&q=space_guid%3A3c737cf5-81eb-4da4-852c-d08739c74def HTTP/1.1
Host: api.cf.eu10.hana.ondemand.com
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
User-Agent: cf/6.36.1+e3799ad7e.2018-04-04 (go1.10.1; amd64 windows)

去拿token,599秒后过期:

REQUEST: [2019-03-08T15:03:13+08:00]
POST /oauth/token HTTP/1.1
Host: login.cf.eu10.hana.ondemand.com
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
Connection: close
Content-Type: application/x-www-form-urlencoded
User-Agent: cf/6.36.1+e3799ad7e.2018-04-04 (go1.10.1; amd64 windows)
[PRIVATE DATA HIDDEN]RESPONSE: [2019-03-08T15:03:14+08:00]
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json;charset=UTF-8
Date: Fri, 08 Mar 2019 07:03:13 GMT
Pragma: no-cache
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload;
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Vcap-Request-Id: d7e3772f-4c48-4764-68f1-d974eca25f1c
X-Xss-Protection: 1; mode=block
{"access_token": "[PRIVATE DATA HIDDEN]","expires_in": 599,"id_token": "[PRIVATE DATA HIDDEN]","jti": "1f17e96ef0554b9c91e8028d953cebba","refresh_token": "[PRIVATE DATA HIDDEN]","scope": "cloud_controller.read password.write cloud_controller.write openid uaa.user","token_type": "[PRIVATE DATA HIDDEN]"
}

用Restful API去拿上传应用的抬头信息,

REQUEST: [2019-03-08T15:03:14+08:00]
GET /v2/apps?q=name%3Ajerry+demo+server&q=space_guid%3A3c737cf5-81eb-4da4-852c-d08739c74def HTTP/1.1
Host: api.cf.eu10.hana.ondemand.com
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
User-Agent: cf/6.36.1+e3799ad7e.2018-04-04 (go1.10.1; amd64 windows)RESPONSE: [2019-03-08T15:03:15+08:00]
HTTP/1.1 200 OK
Content-Length: 2141
Content-Type: application/json;charset=utf-8
Date: Fri, 08 Mar 2019 07:03:14 GMT
Server: nginx
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload;
X-Content-Type-Options: nosniff
X-Ratelimit-Limit: 40000
X-Ratelimit-Remaining: 38707
X-Ratelimit-Reset: 1552029271
X-Vcap-Request-Id: d4e10fef-9f1a-4b47-6804-bbaf61728f57::24c11d5a-512a-4b6a-8def-5fe26d4a8091
{"next_url": null,"prev_url": null,

检测出的buildpack,监听端口,启动方式,资源quota等,基本就是manifest.yml里指定的内容。

然后去拿当前CloudFoundry物理操作系统的信息:

GET /v2/stacks/c0fdd885-3e8f-4859-9fa4-c0c9373cdeff HTTP/1.1
Host: api.cf.eu10.hana.ondemand.com
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
User-Agent: cf/6.36.1+e3799ad7e.2018-04-04 (go1.10.1; amd64 windows)RESPONSE: [2019-03-08T15:03:15+08:00]
HTTP/1.1 200 OK
Content-Length: 338
Content-Type: application/json;charset=utf-8
Date: Fri, 08 Mar 2019 07:03:15 GMT
Server: nginx
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload;
X-Content-Type-Options: nosniff
X-Ratelimit-Limit: 40000
X-Ratelimit-Remaining: 38706
X-Ratelimit-Reset: 1552029271
X-Vcap-Request-Id: 330a191e-39f4-42d3-7f49-c9a7cd9875ec::2971cf15-f4be-44da-884b-9bee5bfc3008
{"entity": {"description": "Cloud Foundry Linux-based filesystem (Ubuntu 18.04)","name": "cflinuxfs3"},"metadata": {"created_at": "2018-12-20T08:31:52Z","guid": "c0fdd885-3e8f-4859-9fa4-c0c9373cdeff","updated_at": "2018-12-20T08:31:52Z","url": "/v2/stacks/c0fdd885-3e8f-4859-9fa4-c0c9373cdeff"}
}

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

使用cf push命令往CloudFoundry上部署应用的过程分析相关推荐

  1. CloudFoundry cf push命令报错误码223的解决方法

    我今天用命令cf push试图把本地应用部署到SAP云平台时,遇到如下错误信息: Connection: Upgrade Sec-Websocket-Accept: 3wwutB8PKFMvoiGOF ...

  2. cloudfoundry_在Cloudfoundry上部署RESTful服务

    cloudfoundry 在本文中,我们将使用Pivotal Cloud Foundry(PCF)开发人员在Cloudfoundry上部署RESTful服务. 由于创建静态Web服务不是本文的一部分, ...

  3. 在Cloudfoundry上部署RESTful服务

    在本文中,我们将使用Pivotal Cloud Foundry(PCF)Dev在Cloudfoundry上部署RESTful服务. 由于创建静态Web服务不是本文的一部分,因此我已经创建了employ ...

  4. 在CloudFoundry上部署独立Java应用

    2019独角兽企业重金招聘Python工程师标准>>> 昨天知道了一个Scala Web框架,感觉相当不错. 由于它是基于Netty的,不能通过Web容器部署,有点犹豫要不要用它,不 ...

  5. SAP云平台cf push命令报错误码44的解决方法

    我本地开发了一个nodejs应用,用cf push部署到CloudFoundry时报错: t looks like you're deploying on a stack (currently set ...

  6. SAP云平台cf push命令报错的解决方法

    我在一个项目文件夹下使用cf push命名进行部署,遇到如下错误: RESPONSE: [2019-04-19T15:55:02+08:00]HTTP/1.1 401 Unauthorized Cac ...

  7. CloudFoundry的cf push命令执行后,背后发生了什么

  8. SAP云平台CloudFoundry上部署应用的log分析

    log: 有一些非常有用的信息: Retrieving logs for app jerry-demo-server in org I042416trial_trial / space dev as ...

  9. SAP云平台CloudFoundry上部署了一个应用的技术明细

    refresh token -> access token 换取的access token,因为security原因,没有以明文的方式显示在控制台里: 要获取更多Jerry的原创文章,请关注公众 ...

最新文章

  1. 计算机学win7画图,Win7系统自带画图工具如何打开?win7打开画图工具教程
  2. spring: 使用Spring提供的JDBC模板(使用profiles选择数据源/使用基于JDBC驱动的数据源)...
  3. PHP微信开发框架LaneWeChat框架简介
  4. Spring 一二事(8) - annotation 形式的 MVC
  5. idea运行android usb调试,android-Intellij Idea不允许在真实设备上运行应...
  6. Codewars-Javascript训练手册:Date 对象
  7. python中包含的标准数据类型_Python数据类型基础
  8. 男人在拥有女人之后!
  9. 椭圆曲线形式下的Pedersen commitment——vector commitment和polynomial commitment
  10. 小白采坑 非法反射警告 An illegal reflective access operation has occurred错误
  11. Sprite Renderer
  12. lopa分析_LOPA分析法之独立保护层浅析
  13. vertica用户自定义扩展介绍
  14. 全军尽墨的Android应用:社会化授权登录及分享安全漏洞
  15. MAC地址(广播、组播、单播、全球、本地)
  16. Android直播开发之旅(25):使用AES算法加密多媒体文件(+RSA+MD5+Base64)
  17. 华科大计算机系李瑞轩.,李瑞轩-智能与分布计算实验室
  18. snowboy进行语音唤醒,编译snowboy文件
  19. Hue编译安装适配sparksql(hue+livy+sparksql+pyspark)
  20. Python学习笔记:好玩的图形Python代码

热门文章

  1. 一个比较完美的spacer div技巧
  2. 对jvm 同步锁的理解
  3. JVM源码分析之javaagent原理完全解读
  4. 使用 pylint 检测python代码质量(sonar-scanner调用pylint,然后数据交给sonar服务器)
  5. 文献记录(part18)--3D neuron tip detection in volumetric microscopy images using an adaptive ...
  6. 回归素材(part7)--机器学习入门到实战-MATLAB实践应用
  7. matlab-robtics学习笔记
  8. python如何运用到财务工作中存在的问题_财务工作存在问题及整改措施
  9. SAP Spartacus CmsPage的加载逻辑
  10. SAP Fiori globalization实现原理之Number显示的格式原理